METHODS FOR VISIBILITY CONSTRAINT MOTION PLANNING

CLASS PRESENTATION FOR

 CS 698: ROBOT MOTION PLANNING

VIKRANT KUMAR  {vikrantk@iitk.ac.in}


1. Introduction

Figure 1. The goal is to maintain visibility of a moving target that may or may not be predictable.

Several applications require persistent monitoring of  a moving target by a controllable vision system. The applications include mobile robotics and automated processes. A motion planning problem is considered here in which a robot carries a camera that must maintain visibility of a target in a cluttered workspace. The primary distinction between the problem considered and standard tracking problems is the introduction of global, geometric constraints on both visibility and robot configurations. The following conditions are assumed:

    1) an observer must maintain visibility of a moving target;

    2) the workspace contains static obstacles that prohibit certain configurations of both the observer and target;

    3) the workspace also contains static obstacles that occlude the target from the observer;

    4) a (possibly partial) motion model is known for the target.

The first condition implies that target tracking is the primary interest, and visibility can be defined in a variety of ways, depending on the particular problem. The second condition introduces the geometric constraints that appear in the standard path planning problem. The third condition complicates the tracking problem by prohibiting pairs of observer and target configurations at which the observer cannot ``see'' the target. In many cases an obstacle in the workspace will cause both motion and visibility constraints. The fourth condition provides predictive information that should be utilized when designing a strategy. For example, the entire trajectory of the target might be known, or alternatively, only a velocity bound might be known. In addition to the previous four conditions, it might also be important to optimize some criteria such as the total distance traveled, energy utilized by the observer, or the quality of the visual information. This quality of visual information will be the aesthetic appeal of the final image, wherein cinematographic principles will be used as the optimizing variables.
 
 

2. Problem Formulation

Suppose that an observer and a target exist in a bounded, Euclidean workspace that is cluttered with static obstacles. Let Cofree and Ctfree denote the free configuration spaces of the observer and target, respectively. Let X = Cofree X Ctfree represent the state space. Let the index k refer to the stage or time step that occurs at time (k-1)Δt for some fixed Δt.

The observer will be controlled through actions, uk , chosen from some action space U . The discrete time trajectory will be given by a transition equation of the form qok+1 = fo(qok , uk ), which yields a new configuration of the observer for a given current configuration and action.

The target will be described by a similar transition equation; however, the actions that control the target are generally unknown to the observer. Let  qtk+1  =  ft(qtk , θk) , in which θk represents unknown actions, chosen from some space Θ. One important special case,
which is the subject of Section 3, is when the target is predictable. In this case the transition equation can be represented as qtk+1  =  ft(qtk). Together, fo and ft define a state transition equation of the form xk+1 = f(xk , uk , θk).

Let X0 is a subset of  X represent the visibility subspace, which corresponds to the set of all states for which the visibility relation holds.
 

Next consider evaluating a state trajectory. Abstractly, the goal is to control the observer to ensure that the state remains in X0. The cost of applying a sequence of control inputs is state trajectory can be expressed as

                L(x1,......,xK,u1,.......,uK) = Σ lk( xk,uk) + LK+1(xK+1)                                      ( 1 )


in which K represents the final time increment for issuing a action and
lk( xk,uk) is a loss that accumulates in a single time step. The final state, xK+1 can also be penalized, using LK+1 . A simple, useful form of  lk is

                 lk( xk,uk) = { 0 if xk belongs to  X0 ; 1 otherwise }                             (2)


This loss functional measures the amount of time that the target is not visible. One could also include a cost for choosing actions that produce motion. This would allow the robot motions to be optimized in addition to the time that the target is in view. The loss functional evaluates a given trajectory.

3. Predictable Targets

In this section the assumption is made that qtk is known for all k belonging to {1,.....,K+1}. In this case, the state transition equation reduces to qk+1 = f(xk,uk), which implies that the state trajectory, {x2,.......,xK+1} is known once x1 and inputs {x1,.......,uK+1} are given.

For a problem that does not involve optimizing the robot trajectory, motions for the observer could be determined by recursively computing visibility and reachability sets from stage K+1 down to stage 1. Suppose the target and observer are both points. Let Vk denote the subset of the free space from which the target is visible. Let Ak1 denote the set of all locations from which the
observer could move at stage k -1 and lie in
Vk at stage k. At any stage the observer must lie in the intersection of the two sets Vk and  Vk. A feasible trajectory for the observer can be obtained by back chaining from the final stage, guaranteeing accessibility and visibility in each step, until a set of possible initial states is obtained.

3.1 Computational Approach

The computational approach can be organized into four basic steps:
1. Construct a discretized representation of 
Cofree, in which K = {1,.....K+1}.

2. For each k, mark all discretized values of qok from which the target (at known qtk ) is visible.
3. Within
X0 for each stage from K + 1 to 1 perform dynamic programming computations with interpolation.
4. Extract the optimal sequence, {
u*1,........,u*K}, using cost­to­go representations.

For the sample solutions below the target moves at its maximum speed of 3 units/stage. The observer is controlled through the simple holonomic model,

                        qok+1 = qok + u1k Δt[ cos(u2k ) sin(u2k ) ]T          (3)

in which u1k ≥ 0 represents the speed of the observer, and u2k ε [0, 2π) represents the direction of motion. No dynamics are considered in this model.

Figure 2 shows a simulation of a trajectory that is obtained from the computed optimal strategy. The actions u1k = 0 (no motion) and u1k = 3 and u2k ε [0, 2π) (motion at a fixed speed in some direction) were allowed. The loss functional is of the form lk( xk,uk) = lm + lv . The term lm is a penalty for motion, and lm = 0 if u1k = 0, otherwise lm = 1. The term lv is a penalty for losing visibility, which is much more important, yielding lv = 500. There are 105 stages for this problem, and the dynamic programming computations took about 20 seconds on a SPARC 20 workstation. Note that although the target trajectory is quite long, the distance traveled by the observer is short. An initial position for the observer was automatically selected from which the target was visible during the first portion of the trajectory. 

Figure 2. A simulation is shown of the optimal state trajectory for a tracking problem. The observer strategy, including the initial position, is chosen to maintain visibility and minimize the total distance traveled. The target positions are shown as black circles, and the target trajectory starts in the upper left. The observer positions are shown with white circles. The line of sight is shown between the observer and target at each stage.

 

The example in Figure 3a involves the same geometry; however, the loss functional is slightly changed to yield lv = 0 only if the target is both visible and the distance between the target and observer lies within 10 and 25 units. Also, the speed, u1k , is allowed to vary
between 0 and 3, with a loss,
lm , that is proportional to the speed. In this case, the observer must travel a greater total distance, yet an optimized trajectory that maintains visibility is still obtained. Figure 3b shows an example in which the maximum observer speed is 1.5, and the target speed is 3.0. There are many visual obstructions, and the observer is able to maintain visibility of the target in all but two stages. During this period, the observer moves quickly to the right to reacquire the target. 

Figure 3. a) This example differs from the previous one by additionally requiring that the observer remains within a specified distance range from the target; b) In this example, the target can moves at twice the maximum speed of the observer. In the optimal trajectory of the observer, there are only two stages in which the target is not visible.

Bibliography:

1.   Motion Strategies for Maintaining Visibility of a Moving Target. by Latombe et. al.