Class LinearRangingAndRssiPositionEstimator3D
java.lang.Object
com.irurueta.navigation.indoor.position.PositionEstimator<com.irurueta.geometry.Point3D,RangingAndRssiReading<? extends RadioSource>,RangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D>>
com.irurueta.navigation.indoor.position.RangingAndRssiPositionEstimator<com.irurueta.geometry.Point3D>
com.irurueta.navigation.indoor.position.LinearRangingAndRssiPositionEstimator<com.irurueta.geometry.Point3D>
com.irurueta.navigation.indoor.position.LinearRangingAndRssiPositionEstimator3D
public class LinearRangingAndRssiPositionEstimator3D
extends LinearRangingAndRssiPositionEstimator<com.irurueta.geometry.Point3D>
Linearly estimates 3D position using located radio sources and their RSSI+ranging
readings at unknown locations.
These kind of estimators can be used to determine the 3D position of a given device by
getting RSSI+ranging readings at an unknown location of different radio sources whose
locations are known.
-
Field Summary
Fields inherited from class com.irurueta.navigation.indoor.position.LinearRangingAndRssiPositionEstimator
DEFAULT_USE_HOMOGENEOUS_LINEAR_SOLVER, homogeneousTrilaterationSolver, inhomogeneousTrilaterationSolver, laterationSolverListener, useHomogeneousLinearSolverFields inherited from class com.irurueta.navigation.indoor.position.PositionEstimator
estimatedPositionCoordinates, fingerprint, listener, sources -
Constructor Summary
ConstructorsConstructorDescriptionConstructor.LinearRangingAndRssiPositionEstimator3D(Fingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint) Constructor.LinearRangingAndRssiPositionEstimator3D(Fingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, RangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.LinearRangingAndRssiPositionEstimator3D(RangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.LinearRangingAndRssiPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources) Constructor.LinearRangingAndRssiPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, Fingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint) Constructor.LinearRangingAndRssiPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, Fingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, RangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.LinearRangingAndRssiPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, RangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor. -
Method Summary
Modifier and TypeMethodDescriptioncom.irurueta.geometry.Point3DGets estimated position.private voidInitializes lateration solver.protected voidsetPositionsAndDistances(List<com.irurueta.geometry.Point3D> positions, List<Double> distances) Sets positions and distances on internal lateration solver.Methods inherited from class com.irurueta.navigation.indoor.position.LinearRangingAndRssiPositionEstimator
estimate, getDistances, getMinRequiredSources, getPositions, internalSetFingerprint, internalSetSources, isHomogeneousLinearSolverUsed, isLocked, isReady, setHomogeneousLinearSolverUsedMethods inherited from class com.irurueta.navigation.indoor.position.PositionEstimator
getEstimatedPosition, getEstimatedPositionCoordinates, getFingerprint, getListener, getSources, setFingerprint, setListener, setSources
-
Constructor Details
-
LinearRangingAndRssiPositionEstimator3D
public LinearRangingAndRssiPositionEstimator3D()Constructor. -
LinearRangingAndRssiPositionEstimator3D
public LinearRangingAndRssiPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources) Constructor.- Parameters:
sources- located radio sources used for lateration.- Throws:
IllegalArgumentException- if provided sources is null or the number of provided sources is less than the required minimum.
-
-
Method Details
-
getEstimatedPosition
public com.irurueta.geometry.Point3D getEstimatedPosition()Gets estimated position.- Specified by:
getEstimatedPositionin classPositionEstimator<com.irurueta.geometry.Point3D,RangingAndRssiReading<? extends RadioSource>, RangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D>> - Returns:
- estimated position.
-
setPositionsAndDistances
protected void setPositionsAndDistances(List<com.irurueta.geometry.Point3D> positions, List<Double> distances) Sets positions and distances on internal lateration solver.- Specified by:
setPositionsAndDistancesin classLinearRangingAndRssiPositionEstimator<com.irurueta.geometry.Point3D>- Parameters:
positions- positions to be set.distances- distances to be set.- Throws:
IllegalArgumentException- if something fails.
-
initialize
private void initialize()Initializes lateration solver.
-