ConsistencyThe 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 consistencyWe begin by checking if our consistency condition holds. This can be formulated as an optimization problem, involving no (or, zero) objective: The above is an SOCP. On exit, a solver such as CVX will provide either a feasible point , 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 Adjusting inconsistent measurementsIf 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 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 The above problem can be expressed as an SOCP, when the norm chosen is one of the three popular norms (, , or Euclidean). The qualitative behavior of the solution depends on the choice of the norm. Choosing an 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.
In the above problem, the sign constraint on 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 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 -norm objective) as a method to detect faulty sensors (those for which at optimum). Then, we remove those faulty sensors from the problem, and proceed with a set of consistent measurements. Assumption: consistent measurementsFrom 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, , is zero. This means that the vector with components , , is non-negative componentwise (). |