Class InhomogeneousLinearLeastSquaresLaterationSolver<P extends com.irurueta.geometry.Point<P>>
java.lang.Object
com.irurueta.navigation.lateration.LaterationSolver<P>
com.irurueta.navigation.lateration.InhomogeneousLinearLeastSquaresLaterationSolver<P>
- Type Parameters:
P- aPointtype.
- Direct Known Subclasses:
InhomogeneousLinearLeastSquaresLateration2DSolver,InhomogeneousLinearLeastSquaresLateration3DSolver
public abstract class InhomogeneousLinearLeastSquaresLaterationSolver<P extends com.irurueta.geometry.Point<P>>
extends LaterationSolver<P>
Linearly solves the lateration problem using an inhomogeneous solution.
This class is base on the implementation found at:
https://github.com/lemmingapex/trilateration
Further information and algorithms can be found at Willy Hereman and William S. Murphy Jr. Determination of a
Position in Three Dimensions Using Trilateration and Approximate Distances.
-
Field Summary
Fields inherited from class com.irurueta.navigation.lateration.LaterationSolver
distances, EPSILON, estimatedPositionCoordinates, listener, locked, positions -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedConstructor.protectedConstructor.protectedInhomogeneousLinearLeastSquaresLaterationSolver(P[] positions, double[] distances) Constructor.protectedInhomogeneousLinearLeastSquaresLaterationSolver(P[] positions, double[] distances, LaterationSolverListener<P> listener) Constructor. -
Method Summary
Methods inherited from class com.irurueta.navigation.lateration.LaterationSolver
getDistances, getEstimatedPosition, getEstimatedPosition, getEstimatedPositionCoordinates, getListener, getMinRequiredPositionsAndDistances, getNumberOfDimensions, getPositions, internalSetPositionsAndDistances, isLocked, isReady, setListener, setPositionsAndDistances
-
Constructor Details
-
InhomogeneousLinearLeastSquaresLaterationSolver
protected InhomogeneousLinearLeastSquaresLaterationSolver()Constructor. -
InhomogeneousLinearLeastSquaresLaterationSolver
Constructor.- Parameters:
positions- known positions of static nodes.distances- euclidean distances from static nodes to mobile node.- Throws:
IllegalArgumentException- if either positions or distances are null, don't have the same length or their length is smaller than required points.
-
-
Method Details
-
solve
Solves the lateration problem.- Specified by:
solvein classLaterationSolver<P extends com.irurueta.geometry.Point<P>>- Throws:
LaterationException- if lateration fails.NotReadyException- if solver is not ready.LockedException- if instance is busy solving the lateration problem.
-
getType
Gets lateration solver type.- Specified by:
getTypein classLaterationSolver<P extends com.irurueta.geometry.Point<P>>- Returns:
- lateration solver type.
-