Download presentation
Presentation is loading. Please wait.
1
Interactive Navigation in Complex Environments Using Path Planning Salomon et al.(2003) University of North Carolina Presented by Mohammed Irfan Rafiq Using Slides from Xiaoshan Pan(2003)
2
Motivations n The design and evaluation of complex engineering products requires interactive navigation using appropriate interaction modes. n Navigating in a driving mode with an unconstrained free-flying camera gives confusing views of geometry. n Earlier work on navigation with constrained camera motion are limited to be local navigation modes or in small environments.
3
Problem & Approach n How to automatically plan a motion path to assist 3D interactive navigation with a constrained camera in a complex environment? n The approach is to combine robot motion planning techniques and driving interaction methods. n Good application for a multi-query and visibility based roadmap n Inputs – model geometry and dimensions of the avatar
4
Constraints n Constrained avatar motion – Translation along a surface – Rotation about an axis orthogonal to the surface – Motion must lie on a walkable surface such as a floor or stairway – Can not walk up or down unreasonably steep slopes
5
Content n 2 modes of navigation: n Global – Pre-compute a global roadmap – Graph search (ini goal) in real-time – Display motion n Local – User-steered exploration
6
Basic Idea Preprocessing phase Runtime algorithm
7
Connectors - Rc > Rg Rc Guards & Connectors (C-space) Reachability -neighborhood around a config that can be reached using a local planner RgRg Guards - guards can’t see each other
8
- yes reject c, goto while c - no! c becomes a Guard, connect to connectors (if any), goto while Algorithm (build_roadmap) While (map_coverage < P_cover), do// map_coverage = guards_reachable/entire_space Return roadmap Connector Guard Connector Guard Connector Guard 2. Can c be a Connector? See any Guards in Rc? - Yes then connect, goto while (else goto 3) 1. Pick a random config. c c 3. Can c be a Guard? See any Guards in Rg? c Be a ConnectorBe a GuardBe rejected
9
Roadmap – Connecting Nodes n Is c1 in Reach(c2,r)? – check if distance between the two locations is less than or equal to r – use the local planner to test if c1 is reachable from c2
10
Roadmap – Pruning Connectors n To remove redundant connectors and keep connectors with highest number of linked guards n If an existing reachable connecter join the same set of guards as the new connector, then discard the new connector n If an existing reachable connector only joins a subset of guards that is reachable from the new connector, then add the new connector and remove the existing connector
11
Search for a path: init goal n Initial position (Rc radius) ini goal n Goal position n Graph search…
12
Display Motion: Smooth Path n Walk along the path ini goal n Smoothing path (cutting redundant corners while walking)
13
Roadmap - Sampling Gravity Shooting rays Random Rays
14
Roadmap - Sampling Gravity Shooting rays өө Walkable surface Construct roadmap
15
Roadmap - Analysis n Roadmap size – Number of guards is limited by mutual unreachability, number of connectors is minimized by connector pruning – In Practice, less than one connector for every guard n Estimated coverage – Maintain a tally of the number of samples that are reachable from at least one guard – The ratio of reachable samples to total samples is a lower bound on the ratio N reachable /N – As N grows large, N reachable /N converges to A reachable /A
16
User-steered exploration (local walk) n User has control – A directional vector n Robot always stays on a walkable surface – In free space – Surface within a tolerance angle – Steps ok, cliffs NO!! n Robot do not penetrate objects
17
Local Walk Algorithm n 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
18
Local Walk n collisions below a certain height with non - walkable surfaces are permitted so that the avatar is able to step over low obstacles n when redirected the avatar is not allowed to move in a direction that makes an angle > 90 with the original direction
19
Results
20
Limitations n the avatar follows the path in linear segments, hence the paths may look unnatural n the avatar cannot bend to look under objects n does not address the narrow passage problem n the precomputation process is time consuming n would require recomputing the graph for a dynamic environment
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.