Consistency

Localization > Back | Consistency | Next

The measurements may not be consistent, in the sense that the intersection of all the spheres may be empty. Here, we first address the problem of checking consistency, and adjust our measurements if necessary.

  • Checking consistency

  • Adjusting inconsistent measurements

  • Consistency assumption

Checking consistency

We begin by checking if our consistency condition holds. This can be formulated as an optimization problem, involving no (or, zero) objective:

 min_x : 0 ~:~ |x-x_i|_2 le R_i , ;; i=1,ldots,m.

The above is an SOCP. On exit, a solver such as CVX will provide either a feasible point x_f, or determine (unambiguously) that there is no feasible point.

CVX syntax
% input: 2xm data matrix X, m-vector of radiuses R
% output: feasible point xfeas, empty if intersection is empty
cvx_begin
    variable xfeas(2,1)
    minimize( 0 )
    subject to
        for i = 1:m,
		R(i) >= norm(xfeas-X(:,i),2);
	end
cvx_end
if ~isfinite(cvx_optval), xfeas = []; end
alt text 

Localization problem with one range measurement added, with data

 x_4 = left(begin{array}{c}0.6-0.2 end{array}right), ;; R_4 = 0.1.

This last measurement (in red) corresponds to a faulty sensor, and makes the measurements inconsistent. Solving the above problem with CVX return an infeasibility message, and the optimal value is +infty.

Adjusting inconsistent measurements

If there is no feasible point, we may want to modify our range measurements so that they become consistent. A variety of approaches are possible. Clearly, increasing the distances R_i will, at some point, make the problem feasible. Let us find the smallest increases that result in a non-empty intersection. We are led to the problem

 min_{x,delta} : |delta| ~:~ delta ge 0, ;; |x-x_i|_2 le R_i+delta_i , ;; i=1,ldots,m.

The above problem can be expressed as an SOCP, when the norm chosen is one of the three popular norms (l_1, l_infty, or Euclidean). The qualitative behavior of the solution depends on the choice of the norm.

alt text 

If the norm chosen is the Euclidean one, we are minimizing the sum of the squares of the adjustments (increases) that are necessary to make our measurements consistent. This results in non-zero adjustments for all the measurements, and the new (unique) intersection point (in green) is far away from the initial intersection.

Choosing an l_1 norm will tend to make the smallest number of adjustment necessary. This would make sense if we believe that a few of our measurements are outliers, and due to faulty sensors.

alt text 

Identifying a faulty sensor that resulted in inconsistent measurements: here we have solved the minimum l_1-norm of adjustments necessary to make the measurements consistent. The approach identifies the offending measurement, since the optimal adjustment vector delta is almost zero except for its last component, which corresponds to the fourth sensor. We observe, however, that the indentification is not perfect, as the measurement of sensor 1 is also adjusted, albeit only slightly. This is due to the fact that the l_1-norm approach is a only a heuristic to solve cardinality minimization problems, as seen here.

In the above problem, the sign constraint on delta implies that we assume that a fault in a sensor only results in under-estimating the radius (hence to a possible infeasible problem). We can remove the sign constraint if we want to address a problem of faulty sensors, where some of them over-estimate the radius measurement.

The above approach will in general make the smallest adjustments necessary. This means that in general at the outset of solving the problem, the intersection reduces to a single point (the optimal variable x delivered by the above procedure). We can choose that point to be our estimate. However, if indeed we suspect some faulty sensors, it may not make sense to proceed that way. Instead, we may use the above problem (with l_1-norm objective) as a method to detect faulty sensors (those for which delta_i ne 0 at optimum). Then, we remove those faulty sensors from the problem, and proceed with a set of consistent measurements.

Assumption: consistent measurements

From now on, we assume that our measurements are consistent. Without loss of generality, we may translate the whole problem so that the feasible point that proves consistency, x_f, is zero. This means that the vector z with components z_i = R_i^2 - x_i^Tx_i, i=1,ldots,m, is non-negative componentwise (z ge 0).