Polygon reconstruction from local observations work by D. Bil, J. - - PowerPoint PPT Presentation

polygon reconstruction from local observations
SMART_READER_LITE
LIVE PREVIEW

Polygon reconstruction from local observations work by D. Bil, J. - - PowerPoint PPT Presentation

Polygon reconstruction from local observations work by D. Bil, J. Chalopin, S. Das, Y. Disser, B. Gfeller, M. Mihalk, S. Suri, E. Vicari, P. Widmayer MITACS, Ottawa, Jan 31, 2011 Robots with Little Sensing and Mobility due to cost


slide-1
SLIDE 1

Polygon reconstruction from local observations

work by

  • D. Bilò, J. Chalopin, S. Das, Y. Disser, B. Gfeller,
  • M. Mihalák, S. Suri, E. Vicari, P. Widmayer

MITACS, Ottawa, Jan 31, 2011

slide-2
SLIDE 2

Robots with Little Sensing and Mobility

  • due to

–cost –weight –form factor –environments For simple sensing model of a vision guided robot: possibility and impossibility results

slide-3
SLIDE 3

Microrobots, environments, problems

–Microrobots: autonomous, anonymous, asynchronous, oblivious, no coordinates, no compass, ... –Unknown environment: graph, local

  • rientation, the plane, a polygon, obstacles,

terrain, no landmarks, ... –Problems: guard a polygon, build a map, form a pattern, count targets, rendezvous, ...

slide-4
SLIDE 4

Basic Robot Model

  • Robot is point on a vertex
  • Robot can look at polygon

while sitting at a vertex → sees all visible vertices (ccw)

  • Robot can move to visible

vertices → cannot sense while moving

slide-5
SLIDE 5

Local View at a Vertex

visibility graph

  • polygon corner is graph vertex
  • edge iff corners see each other
slide-6
SLIDE 6

Combinatorial Visibility

  • For every consecutive

pair of visible vertices:

  • 1 if neighbors in P
  • 0 else

cvv = 11010001

slide-7
SLIDE 7

What can robots do?

slide-8
SLIDE 8

Global Convexity

  • Polygon is convex iff every vertex’s cvv is a vector of all 1’s.
  • Global knowledge despite local uncertainty.
slide-9
SLIDE 9

Navigation

A distinguished vertex is enough ...

slide-10
SLIDE 10

Topology: Global from local

  • Are CVVs sufficient to decide if a polygon is simply-

connected? –Does it have holes? How many?

slide-11
SLIDE 11

Local vs. Global

  • Robots can detect multiple boundaries
  • But cannot distinguish holes from outer boundary
slide-12
SLIDE 12

Monitoring: Visibility Coverage

  • Can a group of robots self-deploy to cover a polygon?
  • Art Gallery Theorem: Any n-gon can be guarded by n/3

guards.

  • Fact: Guarding problem can be solved in the CVV model.
slide-13
SLIDE 13

CVV triangulation

  • Triangulation is a topological structure: dependent on

visibility, but not coordinates.

  • Fact: Triangulation is possible in the CVV model.
slide-14
SLIDE 14

Combinatorial Visibilities → Visibility Graph?

Map construction problem

slide-15
SLIDE 15

Combinatorial Visibilities → Visibility Graph?

slide-16
SLIDE 16

Combinatorial Visibilities + Boundary Angles → Visibility Graph?

slide-17
SLIDE 17

combinatorial visibilities and boundary angles are not enough

slide-18
SLIDE 18

Combinatorial Sensors Geometrical Sensors

slide-19
SLIDE 19

All inner angles

  • Visibility graph + angles

⇔polygon shape

  • Are angles alone enough?

?

slide-20
SLIDE 20

problem definition

Polygon reconstruction

  • Given:
  • boundary vertex order
  • angles at each vertex
  • Find:
  • visibility graph edges E

⇒polygon shape

i 1 2 3 4 n-1 n

α1 α2 α3

i 1 2 3 4 n-1 n ? ? ?

slide-21
SLIDE 21

known

?

iterative reconstruction

Polygon reconstruction

  • Reconstruct visibility

graph iteratively

  • For k = 1,...,n/2:

find all edges (i, i+k) ∈ E

  • k = 1:

trivial (boundary)

  • k > 1:

need criterion to decide whether (i, i+k) ∈ E

1 2 3 n n-1 i i i+1 i+k-1 i+k

slide-22
SLIDE 22

i i+1 i+k-1 i+k w i i+1 i+k-1 i+k w

?

criterion

Polygon reconstruction

  • Criterion for (i, i+k) ∈ E
  • If (i, i+k) ∈ E: there is a

“witness” (sees both) ⇒If there is no witness: (i, i+k) ∉ E

  • And if there is a witness?

1 2 3 n n-1 i i i+1 i+k-1 i+k w

slide-23
SLIDE 23

i+k-1 i w s

αi

criterion

Polygon reconstruction

  • Consider angles:
  • ω at w
  • αi between w and the

next unknown vertex s

  • βi+k between w and the

previous unknown vertex t

  • Build angle sum

⇒(i, i+k) ∈ E ⇔ Σ = π ⇒criterion: ∃w ∧ Σ = π

i i i+1 i+k-1 i+k w i i+1 i+k-1 i+k w

(i, i+k) ∈ E (i, i+k) ∉ E

ω ω

= s

αi

s

αi

t =

βi+k

t

βi+k

ω + αi + βi+k = π ω + αi + βi+k ≠ π

slide-24
SLIDE 24

all inner angles are enough

slide-25
SLIDE 25

All inner angle types

  • Are all inner angles really

necessary? Or is less enough?

  • Types of angles between all

pairs of visible vertices

slide-26
SLIDE 26

Looking Back

  • Types of all inner angles

is enough, if ...

  • ... robot can look back
slide-27
SLIDE 27

Algorithm

  • Progressively identify

distant vertices → assign global name

  • Assume robot at vi

already has identified vertices up to vj

  • Vertex vk is the next

unidentified vertex → determine k vi vj vk

slide-28
SLIDE 28

Algorithm

  • E cannot contain vertices

→ k=j+|J|+|K|+1

  • Need to count vertices

“behind” vj and vk vi vj vk E J K

slide-29
SLIDE 29

Algorithm

Count vertices behind vj:

  • Move to vj and identify vi

by looking back

  • Count vertices with reflex

angle to vi

  • Count vertices behind

those vertices recursively

  • move back to vi

vi vj vk

Works also if the number of vertices is not known

slide-30
SLIDE 30

all inner angle types and look back are enough

slide-31
SLIDE 31

k-1 k-1 k-1

k

view

Look Back, no angle types

  • All information a robot

can ever collect about v ⇒view from v ⇒collection of all paths

  • level-one-view:

v1 = (L1, L2, ..., Ld)

  • level-k-view:

vk = (N1k-1,N2k-1, ..., Ndk-1)

. . .

N1 N2 Nd v

look back L1 L2 Ld

slide-32
SLIDE 32

classes

Vertices as Viewpoints

  • group all vertices with

same v∞ into classes Ci ⇒periodic on boundary ⇒|Ci| = |Cj| ∀i,j

  • |Ci| = 1: distinguishable ✓
  • vn-1 is enough (same

resulting classes)

slide-33
SLIDE 33

definition

The Unique Class C*

  • C* is the lexicographically

smallest class that forms a clique

  • We will see:

Every polygon has a class that forms a clique

  • C* is well defined, unique
slide-34
SLIDE 34
  • 2
  • 3

ears

The Class C*

  • Let a,b,c be a sequence of

vertices on the boundary ⇒b is an ear, iff a sees c

  • b is an ear, iff the move
  • 1, 2, look back yields “-2”

⇒vertices in the same class as an ear are ears

  • Every polygon has an ear

first left neighbor second right neighbor second left neighbor a b c

slide-35
SLIDE 35

existence of a clique

The Class C*

  • Cut ears repeatedly...

⇒cut the entire class ⇒no class will split!

  • ... until only one remains

⇒must be a clique! ⇒contains all vertices of some original class ⇒Every polygon has a class that is a clique!

slide-36
SLIDE 36

problem re-definition

Meeting and Mapping

  • Views of level n-1 are

sufficient to infer classes ⇒task in terms of classes

  • Given:
  • classes along boundary
  • classes of neighbors
  • Tasks:
  • meet other robots
  • infer visibility graph

vert class neighbors 1 C1 C2,C4,C1,C2,C4,C1,C2,C3,C4 2 C2 C3,C4,C1,C2,C4,C1,C2,C4, C1 3 C3 C4,C1,C2 4 C4 C1,C2,C4,C1,C2,C4, C1,C2,C3 5 C1 C2,C4,C1,C2,C4,C1,C2,C3,C4 6 C2 C3,C4,C1,C2,C4,C1,C2,C4, C1 7 C3 C4,C1,C2 8 C4 C1,C2,C4,C1,C2,C4, C1,C2,C3 9 C1 C2,C4,C1,C2,C4,C1,C2,C3,C4 10 C2 C3,C4,C1,C2,C4,C1,C2,C4, C1 11 C3 C4,C1,C2 12 C4 C1,C2,C4,C1,C2,C4, C1,C2,C3 1 2 3 4 5 6 7 8 9 10 11 12

slide-37
SLIDE 37

meeting

Meeting and Mapping

  • C* is unique
  • C* can be inferred

⇒Meeting: Move along boundary to a vertex in C*

vert class neighbors 1 C1 C2,C4,C1,C2,C4,C1,C2,C3,C4 2 C2 C3,C4,C1,C2,C4,C1,C2,C4, C1 3 C3 C4,C1,C2 4 C4 C1,C2,C4,C1,C2,C4, C1,C2,C3 5 C1 C2,C4,C1,C2,C4,C1,C2,C3,C4 6 C2 C3,C4,C1,C2,C4,C1,C2,C4, C1 7 C3 C4,C1,C2 8 C4 C1,C2,C4,C1,C2,C4, C1,C2,C3 9 C1 C2,C4,C1,C2,C4,C1,C2,C3,C4 10 C2 C3,C4,C1,C2,C4,C1,C2,C4, C1 11 C3 C4,C1,C2 12 C4 C1,C2,C4,C1,C2,C4, C1,C2,C3 1 2 3 4 5 6 7 8 9 10 11 12

slide-38
SLIDE 38

I II III

I II III

visibility graph reconstruction

Meeting and Mapping

  • need to identify vertices

in the list of neighbors

  • If own class is a clique:
  • classmates are easy
  • classmates can be used

to segment neighbors

  • Classes are periodic

⇒segment + class → ID ⇒C* vertices identified ⇒others: a bit more work

vert class neighbors 1 C1 C2,C4,C1,C2,C4,C1,C2,C3,C4 1 2 3 4 5 6 7 8 9 10 11 12 ? ? ? ? ? ? ? ? ? 5 9 11

slide-39
SLIDE 39

look back is enough

slide-40
SLIDE 40

Contrast: Map construction for graphs is impossible

minimum base is unique

slide-41
SLIDE 41

for strongly connected, directed, edge labelled graphs: minimum base is the same for many graphs for visibility graphs with labels reflecting all angle types: visibility graph is unique for minimum base algorithm: find minimum base reconstruct visibility graph

slide-42
SLIDE 42

all inner angle types are enough

slide-43
SLIDE 43

Summary

  • Boundary angles only: No map.
  • All angles: Map, even if moves only on

boundary.

  • All angle types, look back: Map.
  • Look back: Map.
  • All angle types: Map.
slide-44
SLIDE 44

Some Open Problems

  • Many individual questions, such as: All lengths ?
  • Robots: More realistic
  • Environments: More realistic
  • Solutions: More efficient