Interactive Navigation in Complex Environments Using Path Planning
1 / 20

Presented by Mohammed Irfan Rafiq Using Slides from Xiaoshan Pan(2003) - PowerPoint PPT Presentation

  • Uploaded on

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). Motivations.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' Presented by Mohammed Irfan Rafiq Using Slides from Xiaoshan Pan(2003)' - kieve

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Interactive Navigation in Complex Environments Using Path PlanningSalomon et al.(2003) University of North Carolina

Presented by Mohammed Irfan Rafiq

Using Slides from Xiaoshan Pan(2003)

Motivations Planning

  • The design and evaluation of complex engineering products requires interactive navigation using appropriate interaction modes.

  • Navigating in a driving mode with an unconstrained free-flying camera gives confusing views of geometry.

  • Earlier work on navigation with constrained camera motion are limited to be local navigation modes or in small environments.

Problem approach
Problem & Approach Planning

  • How to automatically plan a motion path to assist 3D interactive navigation with a constrained camera in a complex environment?

  • The approach is to combine robot motion planning techniques and driving interaction methods.

  • Good application for a multi-query and visibility based roadmap

  • Inputs

    • model geometry and dimensions of the avatar

Constraints Planning

  • 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

Content Planning

  • 2 modes of navigation:

  • Global

    • Pre-compute a global roadmap

    • Graph search (inigoal) in real-time

    • Display motion

  • Local

    • User-steered exploration

Basic idea

Runtime algorithm Planning

Basic Idea

Preprocessing phase

Guards connectors c space

Rc Planning

  • Connectors

  • - Rc > Rg

Guards & Connectors (C-space)

  • Reachability

  • -neighborhood around

  • a config that can be

  • reached using a local planner

  • Guards

  • - guards can’t see each other


Algorithm build roadmap

1. Pick a random config. Planningc

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




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










Roadmap connecting nodes
Roadmap – Connecting Nodes Planning

  • 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

Roadmap pruning connectors
Roadmap – Pruning Connectors Planning

  • To remove redundant connectors and keep connectors with highest number of linked guards

  • If an existing reachable connecter join the same

    set of guards as the new connector, then discard

    the new connector

  • 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

Search for a path init goal

ini Planning


Search for a path: init  goal

  • Initial position (Rc radius)

  • Goal position

  • Graph search…

Display motion smooth path
Display Motion: PlanningSmooth Path

  • Walk along the path

  • Smoothing path (cutting redundant corners while walking)



Roadmap sampling

Random Rays


Roadmap - Sampling

Roadmap sampling1

Gravity Planning

Roadmap - Sampling

  • Shooting rays

  • Walkable surface

  • Construct roadmap



Roadmap analysis
Roadmap - Analysis Planning

  • Roadmap size

    • Number of guards is limited by mutual unreachability,

      number of connectors is minimized by connector


    • In Practice, less than one connector for every guard

  • 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 Nreachable/N

    • As N grows large, Nreachable/N converges to Areachable/A

User steered exploration local walk
User-steered exploration (local walk) Planning

  • 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
Local Walk Algorithm Planning

  • 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

Local walk
Local Walk Planning

  • collisions below a certain height with non -walkable surfaces are permitted so that the avatar is able to step over low obstacles

  • when redirected the avatar is not allowed to move in a direction that makes an angle

    > 90 with the original direction

Results Planning

Limitations Planning

  • the avatar follows the path in linear segments, hence the paths may look unnatural

  • the avatar cannot bend to look under objects

  • does not address the narrow passage problem

  • the precomputation process is time consuming

  • would require recomputing the graph for a dynamic environment