120 likes | 197 Vues
This study by Salomon et al. (2003) from the University of North Carolina focuses on interactive navigation in complex environments using path planning. The content includes pre-computing a global roadmap, real-time graph search, motion display, user-steered exploration, basic runtime algorithms, and more. The approach involves shooting and random rays, gravity precomputation, constructing roadmaps, connectors, reachability, guards, and algorithmic processes for building roadmaps and searching for paths. The system allows for smooth path display, walking along paths, local user-steered exploration, and safe robot movement within tolerances. While effective, the pre-computational aspect and unnatural motion are noted as areas for improvement.
E N D
Interactive Navigation in Complex Environments Using Path PlanningSalomon et al.(2003) University of North Carolina Prepared By Xiaoshan Pan
Content • 1st section (3/4) • Pre-compute a global roadmap • Graph search (inigoal) in real-time • Display motion • 2nd section (1/4) • User-steered exploration
Runtime algorithm Basic Idea Preprocessing phase
Shooting rays Random Rays Gravity Precomputation: Sampling
Gravity Precomputation: Sampling • Shooting rays • Walkable surface -Max # of samples -Min dist between samples • Construct roadmap ө ө
Rc • Connectors • - Rc > Rg Guards & Connectors (C-space) • Reachability (vs. visibility) • Guards • - guards can’t see each other Rg
1. Pick a random config. c 2. Can c be a Connector? See any Guards in Rc? - Yes then connect, goto while (else goto 3) 3. Can c be a Guard? See any Guards in Rg? - no! c becomes a Guard, connect to connectors (if any), goto while - yes reject c, goto while c c c Algorithm (build_roadmap) While (map_coverage < P_cover), do // map_coverage = guards_reachable/entire_space Return roadmap Be a Connector Be a Guard Be rejected Connector Connector Connector Guard Guard Guard Guard Guard Guard
ini goal Search for a path: init goal • Initial position (Rc radius) • Goal position • Graph search…
Display Motion: Smooth Path • Walk along the path • Smoothing path (cutting redundant corners while walking) ini goal
User-steered exploration (local walk) • User has control • A directional vector • Robot do not penetrate objects • Robot always stays on a walkable surface • In free space • Surface within a tolerance angle • Steps ok, cliffs NO!!
Local Walk Algorithm • Follow the directional vector, if • - Goal is reached, stop • - Collision, project along obstacle edge • - New surface, step up/down (not a cliff!) • - Edge, step up/down or project along the edge
Discussion • Can deal with complex environment • Because it pre-computes a global roadmap. • Still… • Pre-computation could be time consuming. • Walking along line segments does not look natural. • Overall assessment: Pretty good