CS686: Proximity Queries Sung-Eui Yoon ( ) Course URL: - - PowerPoint PPT Presentation

cs686 proximity queries
SMART_READER_LITE
LIVE PREVIEW

CS686: Proximity Queries Sung-Eui Yoon ( ) Course URL: - - PowerPoint PPT Presentation

CS686: Proximity Queries Sung-Eui Yoon ( ) Course URL: http://sgvr.kaist.ac.kr/~sungeui/MPA Presentation Guideline: Expectations Good summary, not full detail, of the paper Just 20 min for the talk + 3 min for quiz Talk


slide-1
SLIDE 1

CS686: Proximity Queries

Sung-Eui Yoon (윤성의)

Course URL: http://sgvr.kaist.ac.kr/~sungeui/MPA

slide-2
SLIDE 2

2

Presentation Guideline: Expectations

  • Good summary, not full detail, of the paper
  • Just 20 min for the talk + 3 min for quiz
  • Talk about motivations of the work
  • Give a broad background on the related work
  • Explain main idea and results of the paper
  • Discuss strengths and weaknesses of the

method

slide-3
SLIDE 3

3

High-Level Ideas

  • Deliver most important ideas and results
  • Do not talk about minor details
  • Give enough background instead
  • Spend most time to figure out the most

important things and prepare good slides for them

  • If possible, re-use existing slides/videos with

acknowledgement

slide-4
SLIDE 4

4

Overall Structure

  • Prepare an overview slide
  • Talk about most important things and connect

them well

slide-5
SLIDE 5

5

Be Honest

  • Do not skip important ideas that you don’t

know

  • Explain as much as you know and mention that

you don’t understand some parts

  • If you get questions you don’t know good

answers, just say it

  • In the end, you need to explain them

before the semester ends

slide-6
SLIDE 6

6

Result Presentation

  • Give full experiment settings and present

data with the related information

  • After showing the data, give a message

that we can pull of the data

  • Show images/videos, if there are
slide-7
SLIDE 7

7

Prepare a Quiz

  • Give two simple questions to draw

attentions

  • Ask a keyword
  • Simple true or false questions
  • Multiple choice questions
  • Grade them in the scale of 0 and 10, and

send the score to TA

slide-8
SLIDE 8

8

Audience feedback form

  • Date:

Talk title: Speaker:

  • A. Was the talk well organized and well prepared?

5: Excellent 4: good 3: okay 2: less than average 1: poor

  • B. Was the talk comprehensible? How well were important concepts covered?

5: Excellent 4: good 3: okay 2: less than average 1: poor Any comments to the speaker

slide-9
SLIDE 9

9

Class Objectives

  • Understand collision detection and distance

computation

  • Bounding volume hierarchies
  • Handle point clouds
slide-10
SLIDE 10

10

Two geometric primitives in configuration space

  • CLEAR(q)

Is configuration q collision free or not?

  • LINK(q, q’)

Is the straight-line path between q and q’

collision-free?

slide-11
SLIDE 11

11

Problem

  • Input: two objects A and B
  • Output:
  • Distance computation: compute the distance

(in the workspace) between A and B

  • Collision detection: determine whether A and B

collide or not OR

slide-12
SLIDE 12

12

Collision detection vs. distance computation

  • The distance between

two objects (in the workspace) is the distance between the two closest points on the respective objects

  • Collision if and only if

distance = 0

slide-13
SLIDE 13

13

Collision detection does not allow us to check for free path rigorously

F

slide-14
SLIDE 14

14

Collision detection does not allow us to check for free path rigorously

F Discrete collision checks

slide-15
SLIDE 15

15

Use distance to check for free path rigorously

F

slide-16
SLIDE 16

16

Use distance to check for free path rigorously

Link(q0, q1) 1: if q0N(q1) or q1N(q0) 2: then 3: return TRUE. 4: else 5: q’ = (q0+q1)/2. 6: if q’ is in collision 7: then 8: return FALSE 9: else 10: return Link(q0, q’) && Link(q1,q’).

slide-17
SLIDE 17

17

Applications

  • Robotics
  • Collision avoidance
  • Path planning
  • Graphics & virtual environment simulation
  • Haptics
  • Collision detection
  • Force proportional to distance
slide-18
SLIDE 18

18

Collision Detection

  • Discrete collision detection
  • Continuous collision detection
slide-19
SLIDE 19

19

Discrete collision detection (DCD)

Discrete VS Continuous

Time step (i-1) Time step (i)

From Duksu’s slides

slide-20
SLIDE 20

20

Discrete collision detection (DCD)

Discrete VS Continuous

Time step (i-1) Time step (i)

?

slide-21
SLIDE 21

21

Continuous collision detection(CCD)

Discrete VS Continuous

Time step (i-1) Time step (i)

slide-22
SLIDE 22

22

Discrete VS Continuous

Continuous CD Discrete CD Accuracy Accurate May miss some collisions Computation time Slow Fast

slide-23
SLIDE 23

23

Collision Detection

  • Discrete collision detection
  • Continuous collision detection
  • These are typically accelerated by bounding

volume hierarchices (BVHs)

slide-24
SLIDE 24

24

Bounding Volumes

  • Sphere [Whitted80]
  • Cheap to compute
  • Cheap test
  • Potentially very bad fit
  • Axis-aligned bounding box
  • Very cheap to compute
  • Cheap test
  • Tighter than sphere
slide-25
SLIDE 25

25

Bounding Volumes

  • Oriented bounding box
  • Fairly cheap to compute
  • Fairly cheap test
  • Generally fairly tight
  • Slabs / K-dops
  • More expensive

to compute

  • Fairly cheap test
  • Can be tighter than OBB
slide-26
SLIDE 26

26

Bounding Volume Hierarchies (BVHs)

  • Organize bounding volumes recursively as

a tree

  • Construct BVHs in a top-down manner
  • Use median-based partitioning or other

advanced partitioning methods

A BVH

slide-27
SLIDE 27

27

Collision Detection with BVHs

A B C

1

X Y Z

BV overlap test (A,X) BV overlap test (B,Y), (B,Z), (C,Y), (C,Z) Primitive collision test (1,5), (1,6), (2,5), (2,6)

(A,X) (B,Y) (1,5) Triangle 1 and 5 have a collision!

From Duksu’s slides

slide-28
SLIDE 28

28

BVH Traversal

  • Traverse BVHs with depth-first or breadth-

first

  • Refine a BV node first that has a bigger BV
slide-29
SLIDE 29

29

Continuous Collision Detection

  • BVHs are also widely used
  • Models a continuous motion for a primitive,

whose positions are defined at discrete time steps

  • E.g., linear interpolation
slide-30
SLIDE 30

30

Test-Of-Time 2006 Award

RT-DEFORM: Interactive Ray Tracing of Dynamic Scenes using BVHs Christian Lauterbach, Sung-eui Yoon, David Tuft, Dinesh Manocha IEEE Interactive Ray Tracing, 2006

slide-31
SLIDE 31

31

Computing distances

  • Depth-first search on the binary tree
  • Keep an updated minimum distance
  • Depth-first  more pruning in search
  • Prune search on branches that won’t

reduce minimum distance

  • Once leaf node is reached, examine

underlying convex polygon for exact distance

slide-32
SLIDE 32

32

Simple example

  • Set initial distance value to infinity

Start at the root node. 20 < infinity, so continue searching

slide-33
SLIDE 33

33

Simple example

  • Set initial distance value to infinity
  • Choose the nearest of the two child

spheres to search first

Start at the root node. 20 < infinity, so continue searching. 40 < infinity, so continue searching recursively.

slide-34
SLIDE 34

34

Simple example

  • Eventually reach a leaf node

40 < infinity; examine the polygon to which the leaf node is attached.

slide-35
SLIDE 35

35

Simple example

  • Eventually reach a leaf node

Call algorithm to find exact distance to the polygon. Replace infinity with new minimum distance (42 in this case). 40 < infinity; examine the polygon to which the leaf node is attached.

slide-36
SLIDE 36

36

Simple example

  • Continue depth-first search

45 > 42; don’t search this branch any further

slide-37
SLIDE 37

37

Simple example

  • Continue depth-first search

60 > 42; we can prune this half of our tree from the search 45 > 42; don’t search this branch any further

slide-38
SLIDE 38

38

Running time: build the tree

  • Roughly balanced binary tree
  • Expected time O(n log n)
  • Time to generate node v is proportional to the

number of leaf nodes descended from v.

  • Tree is built only once and can often be

pre-computed.

slide-39
SLIDE 39

39

Running time: search the tree

  • Full search
  • O(n) time to traverse the tree, where n = number
  • f leaf nodes
  • Plus time to compute distance to each polygon

in the underlying model

  • The algorithm allows a pruned search:
  • Worst case as above; occurs when objects are

close together

  • Best case: O(log n) + a single polygon

calculation

  • Average case ranges between the two
slide-40
SLIDE 40

40

General case

  • If second object is not a single point, then

search & compare 2 trees

  • Use two BVHs and perform the BVH traversal

A B C

1

X Y Z

slide-41
SLIDE 41

41

Tracking the closest pair

  • V-Clip: Fast and Robust Polyhedral Collision

Detection, B. Mirtich, 1997

  • Utilize motion coherence
slide-42
SLIDE 42

42

Sensor-based Path Planning

  • Navigation using 3D depth sensor

Maier, Daniel, et al.

Modified from YongSun’s slides

slide-43
SLIDE 43

43

3D Sensor & Point Cloud Data

  • 3D sensor generates excessive amount
  • f points with some noise periodically
  • 300K points / 30FPS with Kinect

Point Cloud Data 3D Sensor Model

3D Point

slide-44
SLIDE 44

44

General Flow of Using Point Clouds

Applications (path planning)

Point cloud Maps (octree or grid) Update

slide-45
SLIDE 45

45

Map Representations

3D Grid Map Octree Data Structure

slide-46
SLIDE 46

46

Occupancy Map Representation

  • OctoMap [Wurm et al., ICRA, 2010 ]
  • Encode an occupancy probability of cell

given measurement

Occupancy probability of the cell at time step New sensor measurement to be updated at time step

slide-47
SLIDE 47

47

Update Method

  • Traverse and update cells
  • Bresenham algorithm [Amanatides et al.,

Eurographics, 1987 ]

Updated cell to occupied state Updated cell to free state 5

Time:

: time to update a cell

slide-48
SLIDE 48

48

Update Method

  • Traverse and update cells
  • Bresenham algorithm [Amanatides et al.,

Eurographics, 1987 ]

  • Can be very slow, with many points

Time:

  • Visit the same cells

multiple times for multiple rays : time to update a cell

slide-49
SLIDE 49

49

Super Rays [Kwon et al., ICRA16]

  • Benefits of our approach
  • Faster performance with the same representation

accuracy

  • Codes are available

Time: + 5 Time:

State-of-the-art method Ours

slide-50
SLIDE 50

50

Class Objectives were:

  • Understand collision detection and distance

computation

  • Bounding volume hierarchies
  • Handle point clouds
slide-51
SLIDE 51

51

Next Time…

  • Probabilistic Roadmaps
slide-52
SLIDE 52

52

Homework

  • Submit summaries of 2

ICRA/IROS/RSS/CoRL/TRO/IJRR papers

  • Go over the next lecture slides
  • Come up with 3 questions before the mid-

term exam