SlideShare a Scribd company logo
1 of 27
Multi-Robot Systems CSCI 7000-006 Wednesday, September 2, 2009 NikolausCorrell
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
Today More advanced reactive algorithms Message propagation and information gradients Threshold-based algorithms
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
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.
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
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
Example: Deployment of Wifi Networks Goal: Communication Infrastructure Self-Deployment, Self-Repair Applications Natural disasters Military Environmental Monitoring
Challenges 3m (GPS) Positioning Bearing Unidirectional communication Local-to-global: coding & algorithms Locomotion Its just me here! Heeello! Everybody maintain coverage!
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
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
Proto Algorithm Parameters
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
Topology vs. control parameters(centralized deployment) ( 1 < neighbors < 3) ( 2 < neighbors < 4) ( 3 < neighbors < 5)
Area coverage vs. control parameters(centralized deployment) ( 2 < neighbors < 4) ( 1 < neighbors < 5) ( 1 < neighbors < 6)
Indoor Experiment 9 robots Central deployment 500m2 ~ 30min
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
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.
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.
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
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.
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
Results
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?
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
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
Upcoming  Friday: Message passing in ROS Next week: Monday: Labor Day Wednesday: (multi-robot) Localization Friday: Lab, navigation

More Related Content

Similar to September 2, Reactive Algorithms II

2021 itu challenge_reinforcement_learning
2021 itu challenge_reinforcement_learning2021 itu challenge_reinforcement_learning
2021 itu challenge_reinforcement_learning
LASSEMedia
 
Virtual Science in the Cloud
Virtual Science in the CloudVirtual Science in the Cloud
Virtual Science in the Cloud
thetfoot
 
Term Paper Presentation
Term Paper PresentationTerm Paper Presentation
Term Paper Presentation
Shubham Singh
 
Space solarpower
Space solarpowerSpace solarpower
Space solarpower
isrokids
 

Similar to September 2, Reactive Algorithms II (20)

August 31, Reactive Algorithms I
August 31, Reactive Algorithms IAugust 31, Reactive Algorithms I
August 31, Reactive Algorithms I
 
02/2017 Santa Clara, California: Networks of autonomous devices and their imp...
02/2017 Santa Clara, California: Networks of autonomous devices and their imp...02/2017 Santa Clara, California: Networks of autonomous devices and their imp...
02/2017 Santa Clara, California: Networks of autonomous devices and their imp...
 
November 16, Learning
November 16, LearningNovember 16, Learning
November 16, Learning
 
Sensor net
Sensor netSensor net
Sensor net
 
IRJET- Survey Paper on Human Following Robot
IRJET- Survey Paper on Human Following RobotIRJET- Survey Paper on Human Following Robot
IRJET- Survey Paper on Human Following Robot
 
Wireless sensor networks
Wireless sensor networksWireless sensor networks
Wireless sensor networks
 
(Slides) A Method for Distributed Computaion of Semi-Optimal Multicast Tree i...
(Slides) A Method for Distributed Computaion of Semi-Optimal Multicast Tree i...(Slides) A Method for Distributed Computaion of Semi-Optimal Multicast Tree i...
(Slides) A Method for Distributed Computaion of Semi-Optimal Multicast Tree i...
 
Comparative study between metaheuristic algorithms for internet of things wir...
Comparative study between metaheuristic algorithms for internet of things wir...Comparative study between metaheuristic algorithms for internet of things wir...
Comparative study between metaheuristic algorithms for internet of things wir...
 
Open Source Software Tools for Synchrophasor Applications
Open Source Software Tools for  Synchrophasor ApplicationsOpen Source Software Tools for  Synchrophasor Applications
Open Source Software Tools for Synchrophasor Applications
 
Agents In An Exponential World Foster
Agents In An Exponential World FosterAgents In An Exponential World Foster
Agents In An Exponential World Foster
 
2021 itu challenge_reinforcement_learning
2021 itu challenge_reinforcement_learning2021 itu challenge_reinforcement_learning
2021 itu challenge_reinforcement_learning
 
Virtual Science in the Cloud
Virtual Science in the CloudVirtual Science in the Cloud
Virtual Science in the Cloud
 
Big Data and IOT
Big Data and IOTBig Data and IOT
Big Data and IOT
 
Term Paper Presentation
Term Paper PresentationTerm Paper Presentation
Term Paper Presentation
 
Space solarpower
Space solarpowerSpace solarpower
Space solarpower
 
September 11, Deliberative Algorithms II
September 11, Deliberative Algorithms IISeptember 11, Deliberative Algorithms II
September 11, Deliberative Algorithms II
 
A benchmark dataset to evaluate sensor displacement in activity recognition
A benchmark dataset to evaluate sensor displacement in activity recognitionA benchmark dataset to evaluate sensor displacement in activity recognition
A benchmark dataset to evaluate sensor displacement in activity recognition
 
Optical Switching in the Datacenter
Optical Switching in the DatacenterOptical Switching in the Datacenter
Optical Switching in the Datacenter
 
1. GRID COMPUTING
1. GRID COMPUTING1. GRID COMPUTING
1. GRID COMPUTING
 
Enhancing indoor localization using IoT techniques
Enhancing indoor localization using IoT techniquesEnhancing indoor localization using IoT techniques
Enhancing indoor localization using IoT techniques
 

More from University of Colorado at Boulder

Three-dimensional construction with mobile robots and modular blocks
 Three-dimensional construction with mobile robots and modular blocks Three-dimensional construction with mobile robots and modular blocks
Three-dimensional construction with mobile robots and modular blocks
University of Colorado at Boulder
 

More from University of Colorado at Boulder (20)

Three-dimensional construction with mobile robots and modular blocks
 Three-dimensional construction with mobile robots and modular blocks Three-dimensional construction with mobile robots and modular blocks
Three-dimensional construction with mobile robots and modular blocks
 
Template classes and ROS messages
Template classes and ROS messagesTemplate classes and ROS messages
Template classes and ROS messages
 
NLP for Robotics
NLP for RoboticsNLP for Robotics
NLP for Robotics
 
Indoor Localization Systems
Indoor Localization SystemsIndoor Localization Systems
Indoor Localization Systems
 
Vishal Verma: Rapidly Exploring Random Trees
Vishal Verma: Rapidly Exploring Random TreesVishal Verma: Rapidly Exploring Random Trees
Vishal Verma: Rapidly Exploring Random Trees
 
Lecture 10: Summary
Lecture 10: SummaryLecture 10: Summary
Lecture 10: Summary
 
Lecture 09: SLAM
Lecture 09: SLAMLecture 09: SLAM
Lecture 09: SLAM
 
Lecture 08: Localization and Mapping II
Lecture 08: Localization and Mapping IILecture 08: Localization and Mapping II
Lecture 08: Localization and Mapping II
 
Lecture 07: Localization and Mapping I
Lecture 07: Localization and Mapping ILecture 07: Localization and Mapping I
Lecture 07: Localization and Mapping I
 
Lecture 06: Features and Uncertainty
Lecture 06: Features and UncertaintyLecture 06: Features and Uncertainty
Lecture 06: Features and Uncertainty
 
Lecture 05
Lecture 05Lecture 05
Lecture 05
 
Lecture 04
Lecture 04Lecture 04
Lecture 04
 
Lecture 03 - Kinematics and Control
Lecture 03 - Kinematics and ControlLecture 03 - Kinematics and Control
Lecture 03 - Kinematics and Control
 
Lecture 02: Locomotion
Lecture 02: LocomotionLecture 02: Locomotion
Lecture 02: Locomotion
 
Lecture 01
Lecture 01Lecture 01
Lecture 01
 
Lectures 11+12: Debates
Lectures 11+12: DebatesLectures 11+12: Debates
Lectures 11+12: Debates
 
Lecture 09: Localization and Mapping III
Lecture 09: Localization and Mapping IIILecture 09: Localization and Mapping III
Lecture 09: Localization and Mapping III
 
Lecture 10: Navigation
Lecture 10: NavigationLecture 10: Navigation
Lecture 10: Navigation
 
Lecture 08: Localization and Mapping II
Lecture 08: Localization and Mapping IILecture 08: Localization and Mapping II
Lecture 08: Localization and Mapping II
 
Lecture 07: Localization and Mapping I
Lecture 07: Localization and Mapping ILecture 07: Localization and Mapping I
Lecture 07: Localization and Mapping I
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

September 2, Reactive Algorithms II

  • 1. Multi-Robot Systems CSCI 7000-006 Wednesday, September 2, 2009 NikolausCorrell
  • 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
  • 14. Topology vs. control parameters(centralized deployment) ( 1 < neighbors < 3) ( 2 < neighbors < 4) ( 3 < neighbors < 5)
  • 15. Area coverage vs. control parameters(centralized deployment) ( 2 < neighbors < 4) ( 1 < neighbors < 5) ( 1 < neighbors < 6)
  • 16. Indoor Experiment 9 robots Central deployment 500m2 ~ 30min
  • 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

  1. We are not interested in working on the locomotion axis for now
  2. 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.
  3. 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.
  4. Higher numbers of max neighbors lead to denser deployments (lower coverage area).All parameters show similar asymptotic behavior.
  5. 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.
  6. 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).