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
- aPoint
type.
- 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
ConstructorsModifierConstructorDescriptionprotected
Constructor.protected
Constructor.protected
InhomogeneousLinearLeastSquaresLaterationSolver
(P[] positions, double[] distances) Constructor.protected
InhomogeneousLinearLeastSquaresLaterationSolver
(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:
solve
in 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:
getType
in classLaterationSolver<P extends com.irurueta.geometry.Point<P>>
- Returns:
- lateration solver type.
-