1 / 34

Real-time Combinatorial Tracking of a Target Moving Unpredictably Among Obstacles

Hector Gonzales-Banos, Cheng-Yu Lee, Jean Claude Latombe By Sean Augenstein and Patrick Mihelich November 14 th , 2007. Real-time Combinatorial Tracking of a Target Moving Unpredictably Among Obstacles. target. observer. observer target. observer’s visibility region. The Problem.

tam
Download Presentation

Real-time Combinatorial Tracking of a Target Moving Unpredictably Among Obstacles

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Hector Gonzales-Banos, Cheng-Yu Lee, Jean Claude Latombe By Sean Augenstein and Patrick Mihelich November 14th, 2007 Real-time Combinatorial Tracking of a Target Moving Unpredictably Among Obstacles

  2. target observer observer target observer’s visibility region The Problem Goal: Keep the target in field of view despite obstacles • No prior map of workspace • Unknown target’s trajectory

  3. Corner Example:Pure visual servoing

  4. Corner Example:Anticipating Occlusion

  5. Corner Example

  6. Problem Formulation • Workspace is 2-D • Observer and target are rigid bodies • Target position assumed unpredictable • Observer dynamics are known • Need algorithm to select a control action for the observer, based on workspace geometry

  7. Tracking Strategy • Goal: maximize time that target remains in view • We assume target motion is unpredictable • Requires online solution • Nondeterministic uncertainty • Only the target's action set is known • Use worst-case strategy • Probabilistic uncertainty • Probabilities of target actions are known • Use expected best strategy

  8. Risk-Based Approach • Function Φ represents the risk that the target escapes the FOV • Φ is deterministic, and is a measure of: • How quickly can the target escape • How easy is it for the observer to react to this happening • Φ is differentiable wrt observer position • We use its gradient to select observer feedback control input u(t)

  9. Sensing and Localization • All decisions based on local map constructed from range sensor data • No prior map or landmarks • No self-localization required! • Target detection performed by matching cluster of points from range sensor to target contour • Points from range sensor converted to polyline outline of visibility region

  10. Visibility Region • Set of all locations where the target is visible to the observer

  11. Visibility Region • Set of all locations where the target is visible to the observer

  12. Escape Paths • Visibility polygon contains solid and free edges • Solid: observed edge • Free: caused by occlusion • Escape path: a collision-free path between the target location and a non-visible point • Escape point: intersection of the path with the visibility polygon

  13. Escape Paths and Escape Time • Shortest escape path (SEP): escape path of minimal length through a free edge e • Shortest distance to escape (SDE): length of SEP • Escape time: shortest time target may take to traverse the SEP

  14. Properties of Escape Paths • SEP is a polygonal line • Each vertex (if any) is a vertex of the visibility polygon • SEP cannot cross the line between observer and target • SEP cannot cross any radial line from the observer more than once 2 1 3 1

  15. Escape Path Trees • Escape paths for all free edges form the escape-path tree • Target is root of the tree • Nodes are vertices of visibility polygon • Branches terminate in free edges

  16. Choosing a Control Action • Want control action that maximizes escape time • Escape time is computationally expensive • Need approximation for online algorithm • One approach: maximize SDE • Changing occlusions cause abrupt changes in consecutive control actions • Relationship between SDE and escape time is nonlinear • Poor results in practice

  17. Escape Risk • Use “escape risk” as proxy function for escape time: • h = SDE from target position to edge e • c > 0 constant • r0 = distance from observer to occluding corner • m ≥ 0 given integer

  18. Escape Risk • Minimizing look-ahead component increases future ability of the observer to track • Maximizing reactive component decreases likelihood of target escaping the current visibility region Look-ahead component Reactive component

  19. Tracking Strategy • Gradient of escape risk can be computed in closed form • Calculate the average of Φe over all free edges e in the visibility region • Move in opposite direction

  20. look-ahead component reactive component Tracking Strategy in Action e target e” p p” v i observer

  21. Target-tracking algorithm Algorithm TRACK: Repeat: • Extract local map from sensor • Determine target position • Compute escape-path tree • Compute Φe for each free edge ‘e’ in the map • Compute average of gradients using escape-path tree • Steer robot using the negative of the average

  22. Target-tracking algorithm • Steps 1 and 2 depend on the sensor measurement, i.e., FOV and range limitations on laser range-finder • Step 6 depends on observer’s dynamics and control inputs • Steps 4 and 5 were discussed previously • Step 3 (computing escape path-tree) will be discussed next

  23. Forming Escape-Path Tree • Efficient computation of this step is critical to the algorithm working in real-time • We take advantage of properties of escape paths • Iterate through vertices on one side of line between observer and target, in order • If shortest path to v does not pass through u, shortest path to any further vertex w will not pass through u

  24. Ray-Sweep Algorithm • Sequentially scan ordered list of vertices • At each vertex vi, update a pivot list πi • Append vi to pivot list • Simplify last 3 vertices to 2 if possible • πi defines the shortest path from the target to vi • Shortest path to edge with vi at one endpoint can be calculated in constant time from πi

  25. Updating the Pivot List Initialize pivot list to target • v1 • u0 • v2 • π0 = u0 • v3 • v4 observer

  26. Updating the Pivot List Add next vertex target • v1 • u0 • v2 • π0 = u0 • π1 = u0,v1 • v3 • v4 observer

  27. Updating the Pivot List Add next vertex target • v1 • u0 • v2 • π0 = u0 • π1 = u0,v1 • π2 = u0,v1, v2 • v3 • v4 observer

  28. Updating the Pivot List Simplify last triplet target • v1 • u0 • v2 • π0 = u0 • π1 = u0,v1 • π2 = u0, v2 • v3 • v4 observer

  29. Updating the Pivot List Add next vertex target • v1 • u0 • v2 • π0 = u0 • π1 = u0,v1 • π2 = u0, v2 • π3 = u0, v2, v3 • v3 • v4 observer

  30. Updating the Pivot List Simplify last triplet target • v1 • u0 • v2 • π0 = u0 • π1 = u0,v1 • π2 = u0, v2 • π3 = u0, v3 • SDE • v3 • v4 observer

  31. Updating the Pivot List Add next vertex target • v1 • u0 • v2 • π0 = u0 • π1 = u0,v1 • π2 = u0, v2 • π3 = u0, v3 • π4 = u0, v3, v4 • v3 • v4 observer

  32. Robot control • Φ represents the desired direction of the observer’s motion • “Trajectory-follower” generates observer trajectories that follow this direction • For a simple, non-holonomic observer robot, with control inputs ‘v’ and ‘ω’, an example controller is:

  33. Cool video • Tour example:

  34. Questions?

More Related