2. So far Reactive algorithms Lowest-level control for individual autonomous robots Coordination mechanism for swarms of individually simple individuals Coordination via local communication or by modifying the environment
3. Today More advanced reactive algorithms Message propagation and information gradients Threshold-based algorithms
4. Information Gradients Example: find hot-spot in the environment Given Robot swarm Every robot can sample temperature Robots can exchange info Course question Algorithm What else do you need to know? 4 4 4 7 8 3 9 7 6 7 6 6 5 5 2 5
5. Tracking down a hot spot Need local range and bearing or global position Algorithm: Sample temperature Broadcast temperature Receive from neighbors Broadcast direction to hottest neighbor Other application: routingYouTube Open E-puck Range & Bearing Miniaturized Board for Local Communication in Swarm Robotics. A. Gutierrez, A. Campo, M. Dorigo, J. Donate, F. Monasterio-Huelinand L. Magdalena. ICRA 2009.
6. Information Gradients: Static and Mobile Systems Similar to artificial potential fields But: robots/embedded systems provide the force field Multiple sources can emit competing gradients http://borg.cc.gatech.edu/gnats
7. Information Gradients: Programming Language MIT Proto (Scheme dialect) Functional language “Program” evaluates into a motion vector Commands Integrate over neighborhood Differentiate over neighborhood (gradient) … Key: every information used in the program is also broadcast (def cluster-to (src) (* -1 (grad (distance-to src)))) (cluster-to (is-light)) http://groups.csail.mit.edu/stpg/proto.html
8. Example: Deployment of Wifi Networks Goal: Communication Infrastructure Self-Deployment, Self-Repair Applications Natural disasters Military Environmental Monitoring
9. Challenges 3m (GPS) Positioning Bearing Unidirectional communication Local-to-global: coding & algorithms Locomotion Its just me here! Heeello! Everybody maintain coverage!
10. Algorithm Only sensor: number of neighbors Move randomly until local topology constraints are fulfilled Connected to gateway Minimum number of neighbors Maximum number of neighbors 3 2 2 4 1 if ( 2 < neighbors < 4) move else stop
11. How to establish connection? Gateway emits special message Nodes forward gateway message “Hop-count” to gateway Count-to-infinity problem Unconnected if number of hops larger than total number of nodes 2 1 0 2 3 0 3 4 0
13. System Architecture 1 Hz IP Layer IP Layer IP Layer IP Layer IP Layer IP Layer IP Layer OLSRd (Optimized Link State Routing) Link Layer Link Layer Link Layer Link Layer Link Layer Link Layer Atheros MIPS 180MHz Mobile Layer Mobile Layer Mobile Layer Mobile Layer Mobile Layer Mobile Layer Link Layer Deployment Algorithm PROTO Mobile Layer iRobot Create 20 Hz Differential Wheels Drive
17. Taking advantage of Localization and Communication Baseline: deployment algorithm Algorithms Move to last-known-good position Move to last-known-good and disperse Consensus and flocking Course Question: Why would you need the consensus and flocking algorithm? Hint: local minima of the dispersion algorithm. Videos: Anna Derbakova
18. Threshold-based algorithms React probabilistically to stimulus Threshold determines likelihood Different thresholds for competing stimuli Biological inspiration: social insects Probability to do task i Stimulus intensity Krieger, M.J.B. & Billeter, J-B. (2000). The call of duty: Selforganised task allocation in a population of up to twelve mobile robots Robotics Autonom. Sys. 30: 65-84.
19. Example 1: Task Allocation(Krieger & Billeter) Goal: forage for “energy” in the environment Maintain energy in the “nest” on a certain level Ant-like task allocation and recruitment in cooperative robots. M. Krieger, J. Billeter and L. Keller. Nature, vol 406, pp. 992-995, August 2006.
20. System architecture and algorithm Nest maintains information on colony energy and broadcast this information Robots receive energy from the nest Robots forage randomly for “food”, increasing nest energy Robots forage only when nest energy falls below a certain threshold Beacon provides visual cue for finding the nest
21. Results Krieger, M.J.B. & Billeter, J-B. (2000). The call of duty: Selforganised task allocation in a population of up to twelve mobile robots Robotics Autonom. Sys. 30: 65-84.
22. Example 2: Aggregation Goal: Aggregation (Monday) Threshold-based task allocation Workers estimate availability of work (stimulus) Workers take a rest when there is little work Self-regulation of swarm activity
24. Analysis Homogenous controllers Local perception of stimulus (heterogeneous team) leads to diversity Fully scalable: number of agents do not matter Course question: What happens if threshold is too low What happens if threshold is too high How find optimal threshold?
25. Optimizing the response threshold Systematic search /parameter sweep Performance metric is steadily increasing Comparing snap-shot of the experiment at T=10h Too few workers Too many workers (clusters get destroyed) 10 robots, 20 seeds
26. Summary Reactive algorithms, information gradients and response-thresholds are powerful heuristics for generating complex behavior Information gradients enabled by range and bearing hardware Potential for extreme miniaturization and large numbers of agents
27. Upcoming Friday: Message passing in ROS Next week: Monday: Labor Day Wednesday: (multi-robot) Localization Friday: Lab, navigation
Editor's Notes
We are not interested in working on the locomotion axis for now
OLSRd updates the mesh topology on IP routing level every 1s by exchanging “HELLO” messagesOur algorithm runs on the link layer and exchanges messages at 20HzWe implemented a virtual machine for the swarm programming language PROTO that facilitates programming the swarm, details are in the paper.
Centralized deployment leads to rather compact distributions.If the number of max neighbors is too low, robots might need to go to far away from the cluster and get lost (top row).If the number of min neighbors is too high, robots on the outer boundary of the cluster tend to move away from the cluster (no range and bearing info!).Notice that this is a snapshot (time = 5000 time steps) and convergence is asymptotic.
Higher numbers of max neighbors lead to denser deployments (lower coverage area).All parameters show similar asymptotic behavior.
Real robot experiments confirm results qualitatively. The initial deployment location was around robot 7 (static). The system spread out autonomously and converged to configurations similar to that shown in the experimental snapshot above.
A naïveapporach is to move towards the last known good position. This leads to poor coverage, however.A better way to do is to disperse at the same time, which is not provably complete, however (local minima).A provably optimal algorithm is to find consensus on an optimal direction of motion and then move in a flock. This is a tradeoff between time to completion and provable properties (consensus takes time).