Class NonLinearRssiPositionEstimator2D
java.lang.Object
com.irurueta.navigation.indoor.position.PositionEstimator<com.irurueta.geometry.Point2D,RssiReading<? extends RadioSource>,RssiPositionEstimatorListener<com.irurueta.geometry.Point2D>>
com.irurueta.navigation.indoor.position.RssiPositionEstimator<com.irurueta.geometry.Point2D>
com.irurueta.navigation.indoor.position.NonLinearRssiPositionEstimator<com.irurueta.geometry.Point2D>
com.irurueta.navigation.indoor.position.NonLinearRssiPositionEstimator2D
public class NonLinearRssiPositionEstimator2D
extends NonLinearRssiPositionEstimator<com.irurueta.geometry.Point2D>
Estimates 2D position non-linearly using located radio sources and their RSSI readings at
unknown locations.
These kind of estimators can be used to determine the position of a given device by
getting RSSI readings at an unknown location of different radio sources whose locations
are known.
-
Field Summary
Fields inherited from class com.irurueta.navigation.indoor.position.NonLinearRssiPositionEstimator
FALLBACK_DISTANCE_STANDARD_DEVIATION, laterationSolverListener, trilaterationSolverFields inherited from class com.irurueta.navigation.indoor.position.PositionEstimator
estimatedPositionCoordinates, fingerprint, listener, sources -
Constructor Summary
ConstructorsConstructorDescriptionConstructor.NonLinearRssiPositionEstimator2D(com.irurueta.geometry.Point2D initialPosition) Constructor.NonLinearRssiPositionEstimator2D(com.irurueta.geometry.Point2D initialPosition, RssiPositionEstimatorListener<com.irurueta.geometry.Point2D> listener) Constructor.NonLinearRssiPositionEstimator2D(Fingerprint<? extends RadioSource, ? extends RssiReading<? extends RadioSource>> fingerprint) Constructor.NonLinearRssiPositionEstimator2D(Fingerprint<? extends RadioSource, ? extends RssiReading<? extends RadioSource>> fingerprint, com.irurueta.geometry.Point2D initialPosition) Constructor.NonLinearRssiPositionEstimator2D(Fingerprint<? extends RadioSource, ? extends RssiReading<? extends RadioSource>> fingerprint, com.irurueta.geometry.Point2D initialPosition, RssiPositionEstimatorListener<com.irurueta.geometry.Point2D> listener) Constructor.NonLinearRssiPositionEstimator2D(Fingerprint<? extends RadioSource, ? extends RssiReading<? extends RadioSource>> fingerprint, RssiPositionEstimatorListener<com.irurueta.geometry.Point2D> listener) Constructor.NonLinearRssiPositionEstimator2D(RssiPositionEstimatorListener<com.irurueta.geometry.Point2D> listener) Constructor.NonLinearRssiPositionEstimator2D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources) Constructor.NonLinearRssiPositionEstimator2D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources, com.irurueta.geometry.Point2D initialPosition) Constructor.NonLinearRssiPositionEstimator2D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources, com.irurueta.geometry.Point2D initialPosition, RssiPositionEstimatorListener<com.irurueta.geometry.Point2D> listener) Constructor.NonLinearRssiPositionEstimator2D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources, Fingerprint<? extends RadioSource, ? extends RssiReading<? extends RadioSource>> fingerprint) Constructor.NonLinearRssiPositionEstimator2D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources, Fingerprint<? extends RadioSource, ? extends RssiReading<? extends RadioSource>> fingerprint, com.irurueta.geometry.Point2D initialPosition) Constructor.NonLinearRssiPositionEstimator2D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources, Fingerprint<? extends RadioSource, ? extends RssiReading<? extends RadioSource>> fingerprint, com.irurueta.geometry.Point2D initialPosition, RssiPositionEstimatorListener<com.irurueta.geometry.Point2D> listener) Constructor.NonLinearRssiPositionEstimator2D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources, Fingerprint<? extends RadioSource, ? extends RssiReading<? extends RadioSource>> fingerprint, RssiPositionEstimatorListener<com.irurueta.geometry.Point2D> listener) Constructor.NonLinearRssiPositionEstimator2D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources, RssiPositionEstimatorListener<com.irurueta.geometry.Point2D> listener) Constructor. -
Method Summary
Modifier and TypeMethodDescriptioncom.irurueta.geometry.Point2DGets estimated position.private voidInitializes lateration solver.protected voidsetPositionsDistancesAndDistanceStandardDeviations(List<com.irurueta.geometry.Point2D> positions, List<Double> distances, List<Double> distanceStandardDeviations) Sets positions, distances and standard deviations of distances on internal lateration solver.Methods inherited from class com.irurueta.navigation.indoor.position.NonLinearRssiPositionEstimator
estimate, getCovariance, getDistances, getDistanceStandardDeviations, getFallbackDistanceStandardDeviation, getInitialPosition, getMinRequiredSources, getPositions, internalSetFingerprint, internalSetSources, isLocked, isRadioSourcePositionCovarianceUsed, isReady, setFallbackDistanceStandardDeviation, setInitialPosition, setRadioSourcePositionCovarianceUsedMethods inherited from class com.irurueta.navigation.indoor.position.PositionEstimator
getEstimatedPosition, getEstimatedPositionCoordinates, getFingerprint, getListener, getSources, setFingerprint, setListener, setSources
-
Constructor Details
-
NonLinearRssiPositionEstimator2D
public NonLinearRssiPositionEstimator2D()Constructor. -
NonLinearRssiPositionEstimator2D
public NonLinearRssiPositionEstimator2D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> 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.
-
NonLinearRssiPositionEstimator2D
public NonLinearRssiPositionEstimator2D(com.irurueta.geometry.Point2D initialPosition) Constructor.- Parameters:
initialPosition- initial position to start position estimation.
-
NonLinearRssiPositionEstimator2D
public NonLinearRssiPositionEstimator2D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources, com.irurueta.geometry.Point2D initialPosition) Constructor.- Parameters:
sources- located radio sources used for lateration.initialPosition- initial position to start position estimation.- 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.Point2D getEstimatedPosition()Gets estimated position.- Specified by:
getEstimatedPositionin classPositionEstimator<com.irurueta.geometry.Point2D,RssiReading<? extends RadioSource>, RssiPositionEstimatorListener<com.irurueta.geometry.Point2D>> - Returns:
- estimated position.
-
setPositionsDistancesAndDistanceStandardDeviations
protected void setPositionsDistancesAndDistanceStandardDeviations(List<com.irurueta.geometry.Point2D> positions, List<Double> distances, List<Double> distanceStandardDeviations) Sets positions, distances and standard deviations of distances on internal lateration solver.- Specified by:
setPositionsDistancesAndDistanceStandardDeviationsin classNonLinearRssiPositionEstimator<com.irurueta.geometry.Point2D>- Parameters:
positions- positions to be set.distances- distances to be set.distanceStandardDeviations- standard deviations of distances to be set.
-
initialize
private void initialize()Initializes lateration solver.
-