Class SequentialRobustRangingAndRssiPositionEstimator3D
java.lang.Object
com.irurueta.navigation.indoor.position.SequentialRobustRangingAndRssiPositionEstimator<com.irurueta.geometry.Point3D>
com.irurueta.navigation.indoor.position.SequentialRobustRangingAndRssiPositionEstimator3D
public class SequentialRobustRangingAndRssiPositionEstimator3D
extends SequentialRobustRangingAndRssiPositionEstimator<com.irurueta.geometry.Point3D>
Robustly estimates 3D 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.SequentialRobustRangingAndRssiPositionEstimator3D(double[] sourceQualityScores, double[] fingerprintReadingQualityScores) Constructor.SequentialRobustRangingAndRssiPositionEstimator3D(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, SequentialRobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.SequentialRobustRangingAndRssiPositionEstimator3D(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, RangingAndRssiFingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint) Constructor.SequentialRobustRangingAndRssiPositionEstimator3D(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, RangingAndRssiFingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, SequentialRobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.SequentialRobustRangingAndRssiPositionEstimator3D(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources) Constructor.SequentialRobustRangingAndRssiPositionEstimator3D(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, SequentialRobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.SequentialRobustRangingAndRssiPositionEstimator3D(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, RangingAndRssiFingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint) Constructor.SequentialRobustRangingAndRssiPositionEstimator3D(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, RangingAndRssiFingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, SequentialRobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.SequentialRobustRangingAndRssiPositionEstimator3D(SequentialRobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.SequentialRobustRangingAndRssiPositionEstimator3D(RangingAndRssiFingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint) Constructor.SequentialRobustRangingAndRssiPositionEstimator3D(RangingAndRssiFingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, SequentialRobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.SequentialRobustRangingAndRssiPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources) Constructor.SequentialRobustRangingAndRssiPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, SequentialRobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.SequentialRobustRangingAndRssiPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, RangingAndRssiFingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint) Constructor.SequentialRobustRangingAndRssiPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, RangingAndRssiFingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, SequentialRobustRangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> 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 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
-
SequentialRobustRangingAndRssiPositionEstimator3D
public SequentialRobustRangingAndRssiPositionEstimator3D()Constructor. -
SequentialRobustRangingAndRssiPositionEstimator3D
public SequentialRobustRangingAndRssiPositionEstimator3D(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.
-
SequentialRobustRangingAndRssiPositionEstimator3D
public SequentialRobustRangingAndRssiPositionEstimator3D(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.
-
SequentialRobustRangingAndRssiPositionEstimator3D
public SequentialRobustRangingAndRssiPositionEstimator3D(double[] sourceQualityScores, double[] fingerprintReadingQualityScores, List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> 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 points.- Specified by:
getNumberOfDimensionsin classSequentialRobustRangingAndRssiPositionEstimator<com.irurueta.geometry.Point3D>- Returns:
- number of dimensions of provided points.
-
getMinRequiredSources
public int getMinRequiredSources()Gets minimum required number of located radio sources to perform lateration.- Specified by:
getMinRequiredSourcesin classSequentialRobustRangingAndRssiPositionEstimator<com.irurueta.geometry.Point3D>- 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.Point3D>
-