Class NonLinearFingerprintPositionEstimator3D

java.lang.Object
com.irurueta.navigation.indoor.fingerprint.BaseFingerprintPositionEstimator<com.irurueta.geometry.Point3D,FingerprintPositionEstimatorListener<com.irurueta.geometry.Point3D>>
com.irurueta.navigation.indoor.fingerprint.FingerprintPositionEstimator<com.irurueta.geometry.Point3D>
com.irurueta.navigation.indoor.fingerprint.NonLinearFingerprintPositionEstimator<com.irurueta.geometry.Point3D>
com.irurueta.navigation.indoor.fingerprint.NonLinearFingerprintPositionEstimator3D
Direct Known Subclasses:
FirstOrderNonLinearFingerprintPositionEstimator3D, SecondOrderNonLinearFingerprintPositionEstimator3D, ThirdOrderNonLinearFingerprintPositionEstimator3D

public abstract class NonLinearFingerprintPositionEstimator3D extends NonLinearFingerprintPositionEstimator<com.irurueta.geometry.Point3D>
3D position estimator based on located fingerprints containing only RSSI readings and having as well prior knowledge of the location of radio sources associated to those readings. This is a base implementation for all implementations using different orders of Taylor approximation to estimate position.
  • Constructor Details

    • NonLinearFingerprintPositionEstimator3D

      protected NonLinearFingerprintPositionEstimator3D()
      Constructor.
    • NonLinearFingerprintPositionEstimator3D

      protected NonLinearFingerprintPositionEstimator3D(FingerprintPositionEstimatorListener<com.irurueta.geometry.Point3D> listener)
      Constructor.
      Parameters:
      listener - listener in charge of handling events.
    • NonLinearFingerprintPositionEstimator3D

      protected NonLinearFingerprintPositionEstimator3D(List<? extends RssiFingerprintLocated<? extends RadioSource,? extends RssiReading<? extends RadioSource>,com.irurueta.geometry.Point3D>> locatedFingerprints, RssiFingerprint<? extends RadioSource,? extends RssiReading<? extends RadioSource>> fingerprint, List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources)
      Constructor.
      Parameters:
      locatedFingerprints - located fingerprints containing RSSI readings.
      fingerprint - fingerprint containing readings at an unknown location for provided located fingerprints.
      sources - located radio sources.
      Throws:
      IllegalArgumentException - if provided non located fingerprint is null, located fingerprints value is null or there are not enough fingerprints or readings within provided fingerprints (for 3D position estimation 3 located total readings are required among all fingerprints).
    • NonLinearFingerprintPositionEstimator3D

      protected NonLinearFingerprintPositionEstimator3D(List<? extends RssiFingerprintLocated<? extends RadioSource,? extends RssiReading<? extends RadioSource>,com.irurueta.geometry.Point3D>> locatedFingerprints, RssiFingerprint<? extends RadioSource,? extends RssiReading<? extends RadioSource>> fingerprint, List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, FingerprintPositionEstimatorListener<com.irurueta.geometry.Point3D> listener)
      Constructor.
      Parameters:
      locatedFingerprints - located fingerprints containing RSSI readings.
      fingerprint - fingerprint containing readings at an unknown location for provided located fingerprints.
      sources - located radio sources.
      listener - listener in charge of handling events.
      Throws:
      IllegalArgumentException - if provided non located fingerprint is null, located fingerprints value is null or there are not enough fingerprints or readings within provided fingerprints (for 3D position estimation 3 located total readings are required among all fingerprints).
    • NonLinearFingerprintPositionEstimator3D

      protected NonLinearFingerprintPositionEstimator3D(List<? extends RssiFingerprintLocated<? extends RadioSource,? extends RssiReading<? extends RadioSource>,com.irurueta.geometry.Point3D>> locatedFingerprints, RssiFingerprint<? extends RadioSource,? extends RssiReading<? extends RadioSource>> fingerprint, List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, com.irurueta.geometry.Point3D initialPosition)
      Constructor.
      Parameters:
      locatedFingerprints - located fingerprints containing RSSI readings.
      fingerprint - fingerprint containing readings at an unknown location for provided located fingerprints.
      sources - located radio sources.
      initialPosition - initial position to start the solving algorithm or null.
      Throws:
      IllegalArgumentException - if provided non located fingerprint is null, located fingerprints value is null or there are not enough fingerprints or readings within provided fingerprints (for 3D position estimation 3 located total readings are required among all fingerprints).
    • NonLinearFingerprintPositionEstimator3D

      protected NonLinearFingerprintPositionEstimator3D(List<? extends RssiFingerprintLocated<? extends RadioSource,? extends RssiReading<? extends RadioSource>,com.irurueta.geometry.Point3D>> locatedFingerprints, RssiFingerprint<? extends RadioSource,? extends RssiReading<? extends RadioSource>> fingerprint, List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, com.irurueta.geometry.Point3D initialPosition, FingerprintPositionEstimatorListener<com.irurueta.geometry.Point3D> listener)
      Constructor.
      Parameters:
      locatedFingerprints - located fingerprints containing RSSI readings.
      fingerprint - fingerprint containing readings at an unknown location for provided located fingerprints.
      sources - located radio sources.
      initialPosition - initial position to start the solving algorithm or null.
      listener - listener in charge of handling events.
      Throws:
      IllegalArgumentException - if provided non located fingerprint is null, located fingerprints value is null or there are not enough fingerprints or readings within provided fingerprints (for 2D position estimation at least 2 located total readings are required among all fingerprints, for example 2 readings are required in a single fingerprint, or at least 2 fingerprints at different locations containing a single reading are required. For 3D position estimation 3 located total readings are required among all fingerprints).
  • Method Details