160 likes | 174 Views
A Genetic Algorithm for Minimum Robot Localization. Tiffany Bennett Allegheny College Meadville, PA. GECCO-2003 Undergraduate Student Workshop July 12, 2003. Robot Localization.
E N D
A Genetic Algorithm for Minimum Robot Localization Tiffany Bennett Allegheny College Meadville, PA GECCO-2003 Undergraduate Student Workshop July 12, 2003
Robot Localization Given: P, a polygonal model of a robot environ-ment, and a set of points {p1, p2 , …} in P having a common visibility polygon, V. A robot is known to be at one of the locations p1\, p2, …. By moving the robot a minimum distance, determine p = pj such that p is the correct initial location of the robot within P. NP-Complete!
Example Given P and V, the two points p1 and p2 are hypotheses, possible locations of the robot A move from p to q distinguishes them based upon visibility polygon.
Previous Work: • A localizing decision tree model • sensing nodes • reducing nodes • weighted height [Dudek et al. 1995]
Definitions P: polygonal map of the environment V:visibility polygon: V(p), constructed of all points in P to which an unobstructed straight line can be drawn from p H: set of possible initial locations of the robot, or hypotheses Q: set of locations within P determined by some algorithm to be locations to which the robot can travel and take a probe Path: the route traveled by the robot, a list of points defined in reference to p
Dudek, Romanik, Whitesides Algorithm Notation abuse: H = active hypothetical locations and Q = active reference points path = min_path(H,Q); //given H,Q determine min path while(H.size > 1) { return_path = reverse(path); //save the return path travel(path); //travel path to endpoint probe(path.endpoint); //probe at the endpoint H = updated H; //update H and Q Q = updated Q; path = min_path(H,Q); //determine new min path travel(return_path); //return to initial loc. }
The GA • Population • Path Generator Trees (PGT) • Path nodes • Continuation Nodes • PGTs compute and store fitness as a weighted height
Generating a Member of the Initial Population n = a random integer (number of points on path); p = random hypothesis hj,V = V(p); while (# points generated < n) e = random edge of V; r = random point on e; max = distance from p to r; pnew = random point along the line from p to r; add pnew to path; p = pnew; V = V(p); Compute the PGT of the new path and add to population;
Fitness • Distance traveled along path • weighted height of Path Generator Tree • Degree of Localization • Total localization • Partial localization • No localization
Genetic Operators • Selection • roulette • Crossover • Cut two paths at random points; swap segments • Mutation • Remove a point from the path • Choose a random defining point along the path; move it slightly
Base GA baseGA(P,V,H){ generate initial population; compute PGT for each path in population: for each node where H >1, compare visibility polygons and add branches for each distinguishable hypothesis; while(max generations not reached) perform selection; perform crossover; perform mutation; compute PGT for new members; }
Adding Recursive Step Localize(P,V,H) { baseGA(P,V,H); for each partially localizing tree tj for each leaf node ni of tj if ni.H.size > 1 Localize(P, V(ni.path.endpt), ni.H); if improvement //elements eliminated from ni.H extend tj at ni by BaseGA.mostfit(); adjust fitness and localization label of tj; }
Preliminary Results • GA not yet fully implemented … • population generation working • selection, crossover, mutation implemented • only small population sizes tested so far • testing will begin soon
References • Dudek, Romanik, and Whitesides. (1995). Localizing a Robot with Minimum Travel. Proceedings of the Sixth Annual ACM-SIAM Symposium on Discrete Algorithms, 437-446. • Guibas, Motwani, and Rhagavan. (1992). The Robot Localization Problem in Two Dimensions. Proceedings of the Third Annual ACM-SIAM Symposium on Discrete Algorithms, 259-268. • Hyafil and Rivest. (1976). Constructing Optimal Binary Decision Trees is NP-Complete. Information Processing Letters, 5, 15-17. • Patrascu, Southey, and Doyle. Polygon2D (in squire package) , U. Guelph.http://teachweb.cis.uoguelph.ca/cs112/F00/A1/ squiredoc4-5/
Definitions Hypothesis Generation: determining the points {p1, p2, …} in P whose visibility polygon is V. Hypothesis Elimination: determining which of {p1, p2, …} is the correct initial location of the robot