Class NonLinearRangingPositionEstimator2D

java.lang.Object
com.irurueta.navigation.indoor.position.PositionEstimator<com.irurueta.geometry.Point2D,RangingReading<? extends RadioSource>,RangingPositionEstimatorListener<com.irurueta.geometry.Point2D>>
com.irurueta.navigation.indoor.position.RangingPositionEstimator<com.irurueta.geometry.Point2D>
com.irurueta.navigation.indoor.position.NonLinearRangingPositionEstimator<com.irurueta.geometry.Point2D>
com.irurueta.navigation.indoor.position.NonLinearRangingPositionEstimator2D

public class NonLinearRangingPositionEstimator2D extends NonLinearRangingPositionEstimator<com.irurueta.geometry.Point2D>
Estimates 2D position non-linearly using located radio sources and their ranging readings at unknown locations. These kind of estimators can be used to determine the position of a given device by getting ranging readings at an unknown location of different radio sources whose locations are known.
  • Constructor Details

    • NonLinearRangingPositionEstimator2D

      public NonLinearRangingPositionEstimator2D()
      Constructor.
    • NonLinearRangingPositionEstimator2D

      public NonLinearRangingPositionEstimator2D(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.
    • NonLinearRangingPositionEstimator2D

      public NonLinearRangingPositionEstimator2D(Fingerprint<? extends RadioSource,? extends RangingReading<? extends RadioSource>> fingerprint)
      Constructor.
      Parameters:
      fingerprint - fingerprint containing RSSI readings at an unknown location for provided located radio sources.
      Throws:
      IllegalArgumentException - if provided fingerprint is null.
    • NonLinearRangingPositionEstimator2D

      public NonLinearRangingPositionEstimator2D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources, Fingerprint<? extends RadioSource,? extends RangingReading<? extends RadioSource>> fingerprint)
      Constructor.
      Parameters:
      sources - located radio sources used for lateration.
      fingerprint - fingerprint containing readings at an unknown location for provided located radio sources.
      Throws:
      IllegalArgumentException - if either provided sources or fingerprint is null or the number of provided sources is less than the required minimum.
    • NonLinearRangingPositionEstimator2D

      public NonLinearRangingPositionEstimator2D(RangingPositionEstimatorListener<com.irurueta.geometry.Point2D> listener)
      Constructor.
      Parameters:
      listener - listener in charge of handling events.
    • NonLinearRangingPositionEstimator2D

      public NonLinearRangingPositionEstimator2D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources, RangingPositionEstimatorListener<com.irurueta.geometry.Point2D> listener)
      Constructor.
      Parameters:
      sources - located radio sources used for lateration.
      listener - listener in charge of handling events.
      Throws:
      IllegalArgumentException - if provided sources is null or the number of provided sources is less than the required minimum.
    • NonLinearRangingPositionEstimator2D

      public NonLinearRangingPositionEstimator2D(Fingerprint<? extends RadioSource,? extends RangingReading<? extends RadioSource>> fingerprint, RangingPositionEstimatorListener<com.irurueta.geometry.Point2D> listener)
      Constructor.
      Parameters:
      fingerprint - fingerprint containing readings at an unknown location for provided located radio sources.
      listener - listener in charge of handling events.
      Throws:
      IllegalArgumentException - if provided fingerprint is null.
    • NonLinearRangingPositionEstimator2D

      public NonLinearRangingPositionEstimator2D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources, Fingerprint<? extends RadioSource,? extends RangingReading<? extends RadioSource>> fingerprint, RangingPositionEstimatorListener<com.irurueta.geometry.Point2D> listener)
      Constructor.
      Parameters:
      sources - located radio sources used for lateration.
      fingerprint - fingerprint containing readings at an unknown location for provided located radio sources.
      listener - listener in charge of handling events.
      Throws:
      IllegalArgumentException - if either provided sources or fingerprint is null or the number of provided sources is less than the required minimum.
    • NonLinearRangingPositionEstimator2D

      public NonLinearRangingPositionEstimator2D(com.irurueta.geometry.Point2D initialPosition)
      Constructor.
      Parameters:
      initialPosition - initial position to start position estimation.
    • NonLinearRangingPositionEstimator2D

      public NonLinearRangingPositionEstimator2D(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.
    • NonLinearRangingPositionEstimator2D

      public NonLinearRangingPositionEstimator2D(Fingerprint<? extends RadioSource,? extends RangingReading<? extends RadioSource>> fingerprint, com.irurueta.geometry.Point2D initialPosition)
      Constructor.
      Parameters:
      fingerprint - fingerprint containing ranging readings at an unknown location for provided located radio sources.
      initialPosition - initial position to start position estimation.
      Throws:
      IllegalArgumentException - if provided fingerprint is null.
    • NonLinearRangingPositionEstimator2D

      public NonLinearRangingPositionEstimator2D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources, Fingerprint<? extends RadioSource,? extends RangingReading<? extends RadioSource>> fingerprint, com.irurueta.geometry.Point2D initialPosition)
      Constructor.
      Parameters:
      sources - located radio sources used for lateration.
      fingerprint - fingerprint containing readings at an unknown location for provided located radio sources.
      initialPosition - initial position to start position estimation
      Throws:
      IllegalArgumentException - if either provided sources or fingerprint is null or the number of provided sources is less than the required minimum.
    • NonLinearRangingPositionEstimator2D

      public NonLinearRangingPositionEstimator2D(com.irurueta.geometry.Point2D initialPosition, RangingPositionEstimatorListener<com.irurueta.geometry.Point2D> listener)
      Constructor.
      Parameters:
      initialPosition - initial position to start position estimation.
      listener - listener in charge of handling events.
    • NonLinearRangingPositionEstimator2D

      public NonLinearRangingPositionEstimator2D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources, com.irurueta.geometry.Point2D initialPosition, RangingPositionEstimatorListener<com.irurueta.geometry.Point2D> listener)
      Constructor.
      Parameters:
      sources - located radio sources used for lateration.
      initialPosition - initial position to start position estimation.
      listener - listener in charge of handling events.
      Throws:
      IllegalArgumentException - if provided sources is null or the number of provided sources is less than the required minimum.
    • NonLinearRangingPositionEstimator2D

      public NonLinearRangingPositionEstimator2D(Fingerprint<? extends RadioSource,? extends RangingReading<? extends RadioSource>> fingerprint, com.irurueta.geometry.Point2D initialPosition, RangingPositionEstimatorListener<com.irurueta.geometry.Point2D> listener)
      Constructor.
      Parameters:
      fingerprint - fingerprint containing readings at an unknown location for provided located radio sources.
      initialPosition - initial position to start position estimation.
      listener - listener in charge of handling events.
      Throws:
      IllegalArgumentException - if provided fingerprint is null.
    • NonLinearRangingPositionEstimator2D

      public NonLinearRangingPositionEstimator2D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point2D>> sources, Fingerprint<? extends RadioSource,? extends RangingReading<? extends RadioSource>> fingerprint, com.irurueta.geometry.Point2D initialPosition, RangingPositionEstimatorListener<com.irurueta.geometry.Point2D> listener)
      Constructor.
      Parameters:
      sources - located radio sources used for lateration.
      fingerprint - fingerprint containing readings at an unknown location for provided located radio sources.
      initialPosition - initial position to start position estimation.
      listener - listener in charge of handling events.
      Throws:
      IllegalArgumentException - if either provided sources or fingerprint 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:
      getEstimatedPosition in class PositionEstimator<com.irurueta.geometry.Point2D,RangingReading<? extends RadioSource>,RangingPositionEstimatorListener<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:
      setPositionsDistancesAndDistanceStandardDeviations in class NonLinearRangingPositionEstimator<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.