320 likes | 330 Views
Explore the MathWorks-sponsored challenge from 1999, comparing rule-based and genetic algorithms in optimizing rover exploration strategies on a map. Discover the benefits and drawbacks of each approach.
E N D
Revisiting the Mars Surveyor Challenge AY-REU Fall 2013 Students: Andrew Stubblebine, Tejas Deshpande Faculty Mentor: Dr. Elad Kivelevitch
The Challenge • Originally a MathWorks-sponsored contest using MATLAB, 1999 • Find optimal strategy to explore as much of a 50x50-space map as possible with 5 rovers • “Collaborative Contest” • All solutions submitted visible to all • Winning solutions built off each other • Top ranked solutions “hard-coded”
Motivation • Implement single algorithm for any situation • Scalable to any number of vehicles, any map, any map area • Increase efficiency of autonomous cooperative search • Amazon Air 4
Objectives Test and simulate both algorithms vs. winning competition solution on given maps and randomly generated maps Based on FS13 results: present in the AIAA Dayton-Cincinnati conference Based on the whole year: write a paper and present research at the 2015 national AIAA Aerospace Science Meeting conference
Challenge Conditions • Set of 8 predesigned maps • Number of obstacles and their placement are known • 5 rovers • Limited number of total instructions for each rover (500) • Individual instructions limited 1: Rover moves forward one space 2: Rover turns 90° to the left 3: Rover turns 90° to the right
Sample Solution Sample Instruction Set • 1 1 1 1 1 • 1 1 1 1 1 • 3 1 1 2 1 • 2 1 3 1 1 • 1 1 1 1 1 • 1 1 1 1 1 • 1 2 1 1 3 • 1 1 1 1 1 • 1 1 2 1 1 • 1 1 1 1 1
Approaches Rule-Based Algorithm Genetic Algorithm Imitates Natural Selection Searches a large solution space Potential to reach perfect/near perfect solution • Uses a loose set of logic-based rules • Local area surrounding each rover used in decision making • Think of how humans would search an area
Different Approaches – Same Goal Rule based approach -> Looks at the local level GA approach -> Looks at a more global level
Rule-Based Algorithm Genetic Algorithm Pros: Works on any map Theoretically scalable Only rule is survival of the fittest Gets decent results on complex maps Cons: Computationally intensive Pros: • Simple concept • Easily scalable • Fast computation • Gets decent results Cons: • Limited visibility area • Only local decisions made • Can overwhelm rovers on complicated maps
Rules • Prioritize forward movement (if open in front of rover, go forward) • Dead end encountered (rover path or obstacle): • Look beyond 3 squares in each direction • If decision cannot be reached, expand area of visibility until a “more informed” decision can be made • Test for rover local areas and proximity to other rovers to keep spread out and cover map more efficiently
More on Rule-Based Algorithm • Similar to popular flocking technique as discovered through research • Uses rules to guide “flock” of vehicles through certain events • Cohesion • Alignments • Separation • Evasion • Migration • Uses local information • Makes decisions for each rover based on immediate surroundings • Builds set of instructions one instruction (and one decision) at a time
Initial Population Assume Population is set to 100, Instructions set to 500 and iterations set to 100 and ‘planning horizon’ at 100 Iterates in ‘planning horizons’ Variable probability for each member of population
Iteration in ‘Horizons’ Old Population New Population 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 3 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 • 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 2 1 1 1 1 1 1 1 3 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Best Fitness
Variable Probability Go straight: 0.9, Turn Left and Right: 0.05 Go straight: 0.8, Turn Left and Right: 0.1 Go straight: 0.7, Turn Left and Right: 0.15 Go straight: 0.6, Turn Left and Right: 0.2 Go straight: 0.5, Turn Left and Right: 0.25 Total Population
Selection Procedure Child Child Child Truncation Selection Computationally efficient
Crossover Procedure • 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 2 1 1 1 1 1 1 1 3 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 • 1 1 1 1 1 • 1 1 2 1 1 • 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 Three Point Crossover
Mutation Procedure Randomly Selects a member of the population Randomly selects a rover and an instruction Adds 1 to the number if 1 or 2, otherwise makes it 1.
Rule-Based Algorithm Results • Maps cut into sections • Circle within section until completed • Find new open section • Circle until new section completed • Process continued until rovers out of instructions or map covered
Evaluates the ability of the designed algorithm to find an efficient solution • Based on winning competition solution (considered best possible solution) • Solution strength is the difference between the algorithm solution and the most optimal solution as a percentage of the number of open spaces (lower % is better) • *Solution on Map 4 does not function properly, likely due to difference in MATLAB editions. Number approximated from next lowest Map 4 solution
Conclusions • Rovers behavior patterns very interesting • Especially when comparing algorithm solutions • The overall results were similar to expected results • Improvements can be made for each algorithm to improve solution strength
Future Work Explore computationally efficient guided mutation Explore fuzzy logic for the rule based algorithm Implement position history so rovers can back track if stuck
Acknowledgements • We would like to acknowledge the National Science Foundation for funding this project • NSF Type 1 Grant • DUE-075691 • We would also like to acknowledge Dr. Kivelevitch for all of his help and guidance for this research