1 / 34

340 likes | 460 Views

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.

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

**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**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**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**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**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)**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**Visibility Region**• Set of all locations where the target is visible to the observer**Visibility Region**• Set of all locations where the target is visible to the observer**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**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**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**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**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**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**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**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**look-ahead component**reactive component Tracking Strategy in Action e target e” p p” v i observer**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**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**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**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**Updating the Pivot List**Initialize pivot list to target • v1 • u0 • v2 • π0 = u0 • v3 • v4 observer**Updating the Pivot List**Add next vertex target • v1 • u0 • v2 • π0 = u0 • π1 = u0,v1 • v3 • v4 observer**Updating the Pivot List**Add next vertex target • v1 • u0 • v2 • π0 = u0 • π1 = u0,v1 • π2 = u0,v1, v2 • v3 • v4 observer**Updating the Pivot List**Simplify last triplet target • v1 • u0 • v2 • π0 = u0 • π1 = u0,v1 • π2 = u0, v2 • v3 • v4 observer**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**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**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**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:**Cool video**• Tour example:

More Related