1 / 16

A Genetic Algorithm for Minimum Robot Localization

A Genetic Algorithm for Minimum Robot Localization. Tiffany Bennett Allegheny College Meadville, PA. GECCO-2003 Undergraduate Student Workshop July 12, 2003. Robot Localization.

jpetry
Download Presentation

A Genetic Algorithm for Minimum Robot Localization

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Genetic Algorithm for Minimum Robot Localization Tiffany Bennett Allegheny College Meadville, PA GECCO-2003 Undergraduate Student Workshop July 12, 2003

  2. 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!

  3. 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.

  4. Previous Work: • A localizing decision tree model • sensing nodes • reducing nodes • weighted height [Dudek et al. 1995]

  5. Example

  6. 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

  7. 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. }

  8. The GA • Population • Path Generator Trees (PGT) • Path nodes • Continuation Nodes • PGTs compute and store fitness as a weighted height

  9. 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;

  10. Fitness • Distance traveled along path • weighted height of Path Generator Tree • Degree of Localization • Total localization • Partial localization • No localization

  11. 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

  12. 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; }

  13. 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; }

  14. 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

  15. 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/

  16. 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

More Related