Class SequentialRobustRangingAndRssiPositionEstimator2D
java.lang.Object
com.irurueta.navigation.indoor.position.SequentialRobustRangingAndRssiPositionEstimator<com.irurueta.geometry.Point2D>
com.irurueta.navigation.indoor.position.SequentialRobustRangingAndRssiPositionEstimator2D
public class SequentialRobustRangingAndRssiPositionEstimator2D
extends SequentialRobustRangingAndRssiPositionEstimator<com.irurueta.geometry.Point2D>
Robustly estimates 2D position, using RSSI readings first to obtain an initial coarse
position estimation, and then ranging readings to refine such estimation.
-
Field Summary
Fields inherited from class com.irurueta.navigation.indoor.position.SequentialRobustRangingAndRssiPositionEstimator
DEFAULT_CONFIDENCE, DEFAULT_EVENLY_DISTRIBUTE_RANGING_READINGS, DEFAULT_EVENLY_DISTRIBUTE_RSSI_READINGS, DEFAULT_KEEP_COVARIANCE, DEFAULT_MAX_ITERATIONS, DEFAULT_PROGRESS_DELTA, DEFAULT_RANGING_ROBUST_METHOD, DEFAULT_REFINE_RANGING_PRELIMINARY_SOLUTIONS, DEFAULT_REFINE_RESULT, DEFAULT_REFINE_RSSI_PRELIMINARY_SOLUTIONS, DEFAULT_RSSI_ROBUST_METHOD, DEFAULT_USE_RANGING_HOMOGENEOUS_LINEAR_SOLVER, DEFAULT_USE_RANGING_LINEAR_SOLVER, DEFAULT_USE_RANGING_RADIO_SOURCE_POSITION_COVARIANCE, DEFAULT_USE_RSSI_HOMOGENEOUS_LINEAR_SOLVER, DEFAULT_USE_RSSI_LINEAR_SOLVER, DEFAULT_USE_RSSI_RADIO_SOURCE_POSITION_COVARIANCE, FALLBACK_DISTANCE_STANDARD_DEVIATION, MAX_CONFIDENCE, MAX_PROGRESS_DELTA, MIN_CONFIDENCE, MIN_ITERATIONS, MIN_PROGRESS_DELTA, rangingEstimator, rangingPreliminarySubsetSize, rangingRobustMethod, rssiEstimator, rssiPreliminarySubsetSize, rssiRobustMethod -
Constructor Summary
ConstructorsConstructorDescriptionConstructor.SequentialRobustRangingAndRssiPositionEstimator2D(double[] sourceQualityScores, double[] fingerprintReadingQualityScores) Constructor.SequentialRobustRangingAndRssiPositionEstimator2D(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, SequentialRobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point2D> listener) Constructor.SequentialRobustRangingAndRssiPositionEstimator2D(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, RangingAndRssiFingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint) Constructor.SequentialRobustRangingAndRssiPositionEstimator2D(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, RangingAndRssiFingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, SequentialRobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point2D> listener) Constructor.SequentialRobustRangingAndRssiPositionEstimator2D(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources) Constructor.SequentialRobustRangingAndRssiPositionEstimator2D(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources, SequentialRobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point2D> listener) Constructor.SequentialRobustRangingAndRssiPositionEstimator2D(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources, RangingAndRssiFingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint) Constructor.SequentialRobustRangingAndRssiPositionEstimator2D(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources, RangingAndRssiFingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, SequentialRobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point2D> listener) Constructor.SequentialRobustRangingAndRssiPositionEstimator2D(SequentialRobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point2D> listener) Constructor.SequentialRobustRangingAndRssiPositionEstimator2D(RangingAndRssiFingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint) Constructor.SequentialRobustRangingAndRssiPositionEstimator2D(RangingAndRssiFingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, SequentialRobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point2D> listener) Constructor.SequentialRobustRangingAndRssiPositionEstimator2D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources) Constructor.SequentialRobustRangingAndRssiPositionEstimator2D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources, SequentialRobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point2D> listener) Constructor.SequentialRobustRangingAndRssiPositionEstimator2D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources, RangingAndRssiFingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint) Constructor.SequentialRobustRangingAndRssiPositionEstimator2D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources, RangingAndRssiFingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, SequentialRobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point2D> listener) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidBuilds ranging and RSSI internal estimators.intGets minimum required number of located radio sources to perform lateration.intGets number of dimensions of provided and estimated points.Methods inherited from class com.irurueta.navigation.indoor.position.SequentialRobustRangingAndRssiPositionEstimator
estimate, getCovariance, getDistances, getDistanceStandardDeviations, getEstimatedPosition, getFingerprint, getFingerprintReadingsQualityScores, getInitialPosition, getInliersData, getListener, getPositions, getProgressDelta, getRangingConfidence, getRangingFallbackDistanceStandardDeviation, getRangingMaxIterations, getRangingPreliminarySubsetSize, getRangingRobustMethod, getRangingThreshold, getRssiConfidence, getRssiFallbackDistanceStandardDeviation, getRssiMaxIterations, getRssiPreliminarySubsetSize, getRssiRobustMethod, getRssiThreshold, getSourceQualityScores, getSources, isCovarianceKept, isLocked, isRangingHomogeneousLinearSolverUsed, isRangingLinearSolverUsed, isRangingPreliminarySolutionRefined, isRangingRadioSourcePositionCovarianceUsed, isRangingReadingsEvenlyDistributed, isReady, isResultRefined, isRssiHomogeneousLinearSolverUsed, isRssiLinearSolverUsed, isRssiPreliminarySolutionRefined, isRssiRadioSourcePositionCovarianceUsed, isRssiReadingsEvenlyDistributed, setCovarianceKept, setFingerprint, setFingerprintReadingsQualityScores, setInitialPosition, setListener, setProgressDelta, setRangingConfidence, setRangingFallbackDistanceStandardDeviation, setRangingHomogeneousLinearSolverUsed, setRangingLinearSolverUsed, setRangingMaxIterations, setRangingPreliminarySolutionRefined, setRangingPreliminarySubsetSize, setRangingRadioSourcePositionCovarianceUsed, setRangingReadingsEvenlyDistributed, setRangingRobustMethod, setRangingThreshold, setResultRefined, setRssiConfidence, setRssiFallbackDistanceStandardDeviation, setRssiHomogeneousLinearSolverUsed, setRssiLinearSolverUsed, setRssiMaxIterations, setRssiPreliminarySolutionRefined, setRssiPreliminarySubsetSize, setRssiRadioSourcePositionCovarianceUsed, setRssiReadingsEvenlyDistributed, setRssiRobustMethod, setRssiThreshold, setSourceQualityScores, setSources
-
Constructor Details
-
SequentialRobustRangingAndRssiPositionEstimator2D
public SequentialRobustRangingAndRssiPositionEstimator2D()Constructor. -
SequentialRobustRangingAndRssiPositionEstimator2D
public SequentialRobustRangingAndRssiPositionEstimator2D(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.
-
SequentialRobustRangingAndRssiPositionEstimator2D
public SequentialRobustRangingAndRssiPositionEstimator2D(double[] sourceQualityScores, double[] fingerprintReadingQualityScores) Constructor.- Parameters:
sourceQualityScores- quality scores corresponding to each provided located radio source. The larger the score value the better the quality of the radio source.fingerprintReadingQualityScores- quality scores corresponding to readings within provided fingerprint. The larger the score the better the quality of the reading.
-
SequentialRobustRangingAndRssiPositionEstimator2D
public SequentialRobustRangingAndRssiPositionEstimator2D(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources) Constructor.- Parameters:
sourceQualityScores- quality scores corresponding to each provided located radio source. The larger the score value the better the quality of the radio source.fingerprintReadingQualityScores- quality scores corresponding to readings within provided fingerprint. The larger the score the better the quality of the reading.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
-
getNumberOfDimensions
public int getNumberOfDimensions()Gets number of dimensions of provided and estimated points.- Specified by:
getNumberOfDimensionsin classSequentialRobustRangingAndRssiPositionEstimator<com.irurueta.geometry.Point2D>- Returns:
- number of dimensions of provided and estimated points.
-
getMinRequiredSources
public int getMinRequiredSources()Gets minimum required number of located radio sources to perform lateration.- Specified by:
getMinRequiredSourcesin classSequentialRobustRangingAndRssiPositionEstimator<com.irurueta.geometry.Point2D>- Returns:
- minimum required number of located radio sources to perform lateration.
-
buildEstimators
protected void buildEstimators()Builds ranging and RSSI internal estimators.- Specified by:
buildEstimatorsin classSequentialRobustRangingAndRssiPositionEstimator<com.irurueta.geometry.Point2D>
-