polygon reconstruction from local observations
play

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


  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

  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

  3. Microrobots, environments, problems – Microrobots: autonomous, anonymous, asynchronous, oblivious, no coordinates, no compass, ... – Unknown environment: graph, local orientation, the plane, a polygon, obstacles, terrain, no landmarks, ... – Problems: guard a polygon, build a map, form a pattern, count targets, rendezvous, ...

  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

  5. Local View at a Vertex visibility graph - polygon corner is graph vertex - edge iff corners see each other

  6. Combinatorial Visibility • For every consecutive pair of visible vertices: • 1 if neighbors in P • 0 else cvv = 11010001

  7. What can robots do?

  8. Global Convexity • Polygon is convex iff every vertex’s cvv is a vector of all 1’s. • Global knowledge despite local uncertainty.

  9. Navigation A distinguished vertex is enough ...

  10. Topology: Global from local • Are CVVs sufficient to decide if a polygon is simply- connected? – Does it have holes? How many?

  11. Local vs. Global • Robots can detect multiple boundaries • But cannot distinguish holes from outer boundary

  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.

  13. CVV triangulation • Triangulation is a topological structure: dependent on visibility, but not coordinates. • Fact: Triangulation is possible in the CVV model.

  14. Map construction problem Combinatorial Visibilities → Visibility Graph?

  15. Combinatorial Visibilities → Visibility Graph?

  16. Combinatorial Visibilities + Boundary Angles → Visibility Graph?

  17. combinatorial visibilities and boundary angles are not enough

  18. Combinatorial Sensors Geometrical Sensors

  19. All inner angles ? • Visibility graph + angles ⇔ polygon shape • Are angles alone enough?

  20. ⇒ Polygon reconstruction problem definition 1 2 n n-1 3 α 2 4 α 1 α 3 • Given: • boundary vertex order • angles at each vertex i 1 2 n • Find: n-1 3 4 • visibility graph edges E ⇒ polygon shape ? ? ? i

  21. Polygon reconstruction iterative reconstruction • Reconstruct visibility graph iteratively 1 2 n 3 n-1 • For k = 1,...,n/2: find all edges (i, i+k) ∈ E • k = 1: trivial (boundary) ? i+k known • k > 1: i i+k-1 i+1 need criterion to decide whether (i, i+k) ∈ E i

  22. Polygon reconstruction criterion 1 • Criterion for (i, i+k) ∈ E 2 n 3 n-1 • If (i, i+k) ∈ E: there is a “witness” (sees both) ⇒ If there is no witness: ? i+k i+k i+k (i, i+k) ∉ E i i i i+k-1 i+k-1 i+k-1 • And if there is a witness? w w w i+1 i+1 i+1 i

  23. Polygon reconstruction criterion • Consider angles: (i, i+k) ∈ E • ω at w i+k = s β i+k • α i between w and the α i ω t = i i+k-1 next unknown vertex s w i+1 • β i+k between w and the ω + α i + β i+k = π previous unknown s vertex t (i, i+k) ∉ E s i+k-1 α i i t • Build angle sum i+k β i+k α i w ω i i+k-1 ⇒ (i, i+k) ∈ E ⇔ Σ = π w i+1 ⇒ criterion: ∃ w ∧ Σ = π ω + α i + β i+k ≠ π i

  24. all inner angles are enough

  25. All inner angle types • Are all inner angles really necessary? Or is less enough? • Types of angles between all pairs of visible vertices

  26. Looking Back • Types of all inner angles is enough, if ... • ... robot can look back

  27. Algorithm • Progressively identify distant vertices → assign global name • Assume robot at v i v k already has identified v j vertices up to v j • Vertex v k is the next v i unidentified vertex → determine k

  28. Algorithm K E • E cannot contain vertices v k → k=j+|J|+|K|+1 J v j • Need to count vertices “behind” v j and v k v i

  29. Algorithm Count vertices behind v j : • Move to v j and identify v i by looking back • Count vertices with reflex v k v j angle to v i • Count vertices behind v i those vertices recursively • move back to v i Works also if the number of vertices is not known

  30. all inner angle types and look back are enough

  31. Look Back, no angle types view • All information a robot can ever collect about v k-1 k-1 k-1 k ⇒ view from v ⇒ collection of all paths . . . N 1 N 2 N d • level-one-view: L 2 v 1 = (L 1 , L 2 , ..., L d ) look back L 1 L d • level-k-view: v v k = (N 1k-1 ,N 2k-1 , ..., N dk-1 )

  32. Vertices as Viewpoints classes • group all vertices with same v ∞ into classes C i ⇒ periodic on boundary ⇒ |C i | = |C j | ∀ i,j • |C i | = 1: distinguishable ✓ • v n-1 is enough (same resulting classes)

  33. The Unique Class C * definition • 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

  34. The Class C * ears c • Let a,b,c be a sequence of vertices on the boundary b ⇒ b is an ear , iff a sees c a • b is an ear, iff the move first left second right neighbor -1, 2, look back yields “-2” neighbor second left neighbor ⇒ vertices in the same class as an ear are ears -2 -3 • Every polygon has an ear

  35. The Class C * existence of a clique • 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!

  36. Meeting and Mapping problem re-definition 4 3 • Views of level n-1 are 2 5 sufficient to infer classes 1 ⇒ task in terms of classes 7 6 12 • Given: 10 8 9 • classes along boundary 11 vert class neighbors 1 C 1 C 2 ,C 4 ,C 1 ,C 2 ,C 4 ,C 1 ,C 2 ,C 3 ,C 4 • classes of neighbors 2 C 2 C 3 ,C 4 ,C 1 ,C 2 ,C 4 ,C 1 ,C 2 ,C 4 , C 1 3 C 3 C 4 ,C 1 ,C 2 4 C 4 C 1 ,C 2 ,C 4 ,C 1 ,C 2 ,C 4 , C 1 ,C 2 ,C 3 • Tasks: 5 C 1 C 2 ,C 4 ,C 1 ,C 2 ,C 4 ,C 1 ,C 2 ,C 3 ,C 4 6 C 2 C 3 ,C 4 ,C 1 ,C 2 ,C 4 ,C 1 ,C 2 ,C 4 , C 1 7 C 3 C 4 ,C 1 ,C 2 • meet other robots 8 C 4 C 1 ,C 2 ,C 4 ,C 1 ,C 2 ,C 4 , C 1 ,C 2 ,C 3 9 C 1 C 2 ,C 4 ,C 1 ,C 2 ,C 4 ,C 1 ,C 2 ,C 3 ,C 4 • infer visibility graph 10 C 2 C 3 ,C 4 ,C 1 ,C 2 ,C 4 ,C 1 ,C 2 ,C 4 , C 1 11 C 3 C 4 ,C 1 ,C 2 12 C 4 C 1 ,C 2 ,C 4 ,C 1 ,C 2 ,C 4 , C 1 ,C 2 ,C 3

  37. Meeting and Mapping meeting 4 3 2 5 1 • C * is unique 7 6 12 • C * can be inferred 10 8 9 11 vert class neighbors 1 C 1 C 2 ,C 4 ,C 1 ,C 2 ,C 4 ,C 1 ,C 2 ,C 3 ,C 4 ⇒ Meeting: 2 C 2 C 3 ,C 4 ,C 1 ,C 2 ,C 4 ,C 1 ,C 2 ,C 4 , C 1 3 C 3 C 4 ,C 1 ,C 2 Move along boundary to 4 C 4 C 1 ,C 2 ,C 4 ,C 1 ,C 2 ,C 4 , C 1 ,C 2 ,C 3 5 C 1 C 2 ,C 4 ,C 1 ,C 2 ,C 4 ,C 1 ,C 2 ,C 3 ,C 4 a vertex in C * 6 C 2 C 3 ,C 4 ,C 1 ,C 2 ,C 4 ,C 1 ,C 2 ,C 4 , C 1 7 C 3 C 4 ,C 1 ,C 2 8 C 4 C 1 ,C 2 ,C 4 ,C 1 ,C 2 ,C 4 , C 1 ,C 2 ,C 3 9 C 1 C 2 ,C 4 ,C 1 ,C 2 ,C 4 ,C 1 ,C 2 ,C 3 ,C 4 10 C 2 C 3 ,C 4 ,C 1 ,C 2 ,C 4 ,C 1 ,C 2 ,C 4 , C 1 11 C 3 C 4 ,C 1 ,C 2 12 C 4 C 1 ,C 2 ,C 4 ,C 1 ,C 2 ,C 4 , C 1 ,C 2 ,C 3

  38. Meeting and Mapping visibility graph reconstruction • need to identify vertices in the list of neighbors 4 3 I 2 • If own class is a clique: 5 • classmates are easy 1 II • classmates can be used 7 6 III to segment neighbors 12 10 • Classes are periodic 8 9 11 ⇒ segment + class → ID vert class neighbors 1 C 1 C 2 ,C 4 ,C 1 ,C 2 ,C 4 ,C 1 ,C 2 ,C 3 ,C 4 ? ? 5 ? ? ? 9 ? ? 11 ? ? ⇒ C * vertices identified I II III ⇒ others: a bit more work

  39. look back is enough

  40. Contrast: Map construction for graphs is impossible minimum base is unique

  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

  42. all inner angle types are enough

  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.

  44. Some Open Problems • Many individual questions, such as: All lengths ? • Robots: More realistic • Environments: More realistic • Solutions: More efficient

Recommend


More recommend