September 2, Reactive Algorithms II


Published on

Multi-Robot Systems

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • 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).
  • September 2, Reactive Algorithms II

    1. 1. Multi-Robot Systems<br />CSCI 7000-006<br />Wednesday, September 2, 2009<br />NikolausCorrell<br />
    2. 2. So far<br />Reactive algorithms<br />Lowest-level control for individual autonomous robots<br />Coordination mechanism for swarms of individually simple individuals<br />Coordination via local communication or by modifying the environment<br />
    3. 3. Today<br />More advanced reactive algorithms<br />Message propagation and information gradients<br />Threshold-based algorithms<br />
    4. 4. Information Gradients<br />Example: find hot-spot in the environment<br />Given<br />Robot swarm<br />Every robot can sample temperature<br />Robots can exchange info<br />Course question<br />Algorithm<br />What else do you need to know?<br />4<br />4<br />4<br />7<br />8<br />3<br />9<br />7<br />6<br />7<br />6<br />6<br />5<br />5<br />2<br />5<br />
    5. 5. Tracking down a hot spot<br />Need local range and bearing or global position<br />Algorithm:<br />Sample temperature<br />Broadcast temperature<br />Receive from neighbors<br />Broadcast direction to hottest neighbor<br />Other application: routingYouTube<br />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.<br />
    6. 6. Information Gradients: Static and Mobile Systems<br />Similar to artificial potential fields<br />But: robots/embedded systems provide the force field<br />Multiple sources can emit competing gradients<br /><br />
    7. 7. Information Gradients: Programming Language<br />MIT Proto (Scheme dialect)<br />Functional language<br />“Program” evaluates into a motion vector<br />Commands<br />Integrate over neighborhood<br />Differentiate over neighborhood (gradient)<br />…<br />Key: every information used in the program is also broadcast<br />(def cluster-to (src)<br /> (* -1 (grad (distance-to src))))<br />(cluster-to (is-light))<br /><br />
    8. 8. Example: Deployment of Wifi Networks<br />Goal: Communication Infrastructure<br />Self-Deployment, Self-Repair<br />Applications<br />Natural disasters<br />Military<br />Environmental Monitoring<br />
    9. 9. Challenges<br />3m (GPS)<br />Positioning<br />Bearing<br />Unidirectional communication<br />Local-to-global: coding & algorithms<br />Locomotion<br />Its just me here!<br />Heeello!<br />Everybody maintain coverage!<br />
    10. 10. Algorithm<br />Only sensor: number of neighbors<br />Move randomly until local topology constraints are fulfilled<br />Connected to gateway<br />Minimum number of neighbors<br />Maximum number of neighbors<br />3<br />2<br />2<br />4<br />1<br />if ( 2 &lt; neighbors &lt; 4)<br /> move<br />else<br /> stop<br />
    11. 11. How to establish connection?<br />Gateway emits special message<br />Nodes forward gateway message<br />“Hop-count” to gateway<br />Count-to-infinity problem<br />Unconnected if number of hops larger than total number of nodes<br />2<br />1<br />0<br />2<br />3<br />0<br />3<br />4<br />0<br />
    12. 12. Proto Algorithm<br />Parameters<br />
    13. 13. System Architecture<br />1 Hz<br />IP Layer<br />IP Layer<br />IP Layer<br />IP Layer<br />IP Layer<br />IP Layer<br />IP Layer<br />OLSRd<br />(Optimized Link State Routing)<br />Link<br />Layer<br />Link<br />Layer<br />Link<br />Layer<br />Link<br />Layer<br />Link<br />Layer<br />Link<br />Layer<br />Atheros MIPS 180MHz<br />Mobile<br />Layer<br />Mobile<br />Layer<br />Mobile<br />Layer<br />Mobile<br />Layer<br />Mobile<br />Layer<br />Mobile<br />Layer<br />Link<br />Layer<br />Deployment Algorithm<br />PROTO<br />Mobile<br />Layer<br />iRobot Create<br />20 Hz<br />Differential Wheels Drive<br />
    14. 14. Topology vs. control parameters(centralized deployment)<br />( 1 &lt; neighbors &lt; 3)<br />( 2 &lt; neighbors &lt; 4)<br />( 3 &lt; neighbors &lt; 5)<br />
    15. 15. Area coverage vs. control parameters(centralized deployment)<br />( 2 &lt; neighbors &lt; 4)<br />( 1 &lt; neighbors &lt; 5)<br />( 1 &lt; neighbors &lt; 6)<br />
    16. 16. Indoor Experiment<br />9 robots<br />Central deployment<br />500m2 ~ 30min<br />
    17. 17. Taking advantage of Localization and Communication<br />Baseline: deployment algorithm<br />Algorithms<br />Move to last-known-good position<br />Move to last-known-good and disperse<br />Consensus and flocking<br />Course Question: Why would you need the consensus and flocking algorithm? Hint: local minima of the dispersion algorithm. <br />Videos: Anna Derbakova<br />
    18. 18. Threshold-based algorithms<br />React probabilistically to stimulus<br />Threshold determines likelihood<br />Different thresholds for competing stimuli<br />Biological inspiration: social insects<br />Probability to do task i<br />Stimulus intensity<br />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.<br />
    19. 19. Example 1: Task Allocation(Krieger & Billeter)<br />Goal: forage for “energy” in the environment<br />Maintain energy in the “nest” on a certain level<br />Ant-like task allocation and recruitment in cooperative robots. M. Krieger, J. Billeter and L. Keller. Nature, vol 406, pp. 992-995, August 2006.<br />
    20. 20. System architecture and algorithm<br />Nest maintains information on colony energy and broadcast this information<br />Robots receive energy from the nest<br />Robots forage randomly for “food”, increasing nest energy<br />Robots forage only when nest energy falls below a certain threshold<br />Beacon provides visual cue for finding the nest<br />
    21. 21. Results<br />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.<br />
    22. 22. Example 2: Aggregation<br />Goal: Aggregation (Monday)<br />Threshold-based task allocation<br />Workers estimate availability of work (stimulus)<br />Workers take a rest when there is little work<br />Self-regulation of swarm activity<br />
    23. 23. Results<br />
    24. 24. Analysis<br />Homogenous controllers<br />Local perception of stimulus (heterogeneous team) leads to diversity<br />Fully scalable: number of agents do not matter<br />Course question:<br />What happens if threshold is too low<br />What happens if threshold is too high<br />How find optimal threshold?<br />
    25. 25. Optimizing the response threshold<br />Systematic search /parameter sweep<br />Performance metric is steadily increasing<br />Comparing snap-shot of the experiment at T=10h<br />Too few workers<br />Too many workers<br />(clusters get destroyed)<br />10 robots, 20 seeds<br />
    26. 26. Summary<br />Reactive algorithms, information gradients and response-thresholds are powerful heuristics for generating complex behavior<br />Information gradients enabled by range and bearing hardware<br />Potential for extreme miniaturization and large numbers of agents<br />
    27. 27. Upcoming <br />Friday: Message passing in ROS<br />Next week:<br />Monday: Labor Day<br />Wednesday: (multi-robot) Localization<br />Friday: Lab, navigation<br />