Class RangingRadioSourceEstimator2D<S extends RadioSource>
java.lang.Object
com.irurueta.navigation.indoor.radiosource.RadioSourceEstimator<com.irurueta.geometry.Point2D,RangingReadingLocated<S,com.irurueta.geometry.Point2D>,RangingRadioSourceEstimatorListener<S,com.irurueta.geometry.Point2D>>
com.irurueta.navigation.indoor.radiosource.RangingRadioSourceEstimator<S,com.irurueta.geometry.Point2D>
com.irurueta.navigation.indoor.radiosource.RangingRadioSourceEstimator2D<S>
- Type Parameters:
S- aRadioSourcetype.
public class RangingRadioSourceEstimator2D<S extends RadioSource>
extends RangingRadioSourceEstimator<S,com.irurueta.geometry.Point2D>
Estimates position of a radio source (e.g. Wi-Fi access point or bluetooth beacon)
by using ranging measurements.
Ranging measurements can be obtained by protocols such as ieee 802.11mc (Wi-Fi RTT) which
measures travel time of signal and converts the result into distances by taking into
account the speed of light as the propagation speed.
-
Field Summary
Fields inherited from class com.irurueta.navigation.indoor.radiosource.RangingRadioSourceEstimator
accuracy, DEFAULT_USE_HOMOGENEOUS_LINEAR_SOLVER, DEFAULT_USE_READING_POSITION_COVARIANCES, homogeneousLinearSolver, inhomogeneousLinearSolver, initialPosition, nonLinearSolver, nonLinearSolverEnabled, useHomogeneousLinearSolver, useReadingPositionCovariancesFields inherited from class com.irurueta.navigation.indoor.radiosource.RadioSourceEstimator
estimatedCovariance, estimatedPositionCoordinates, estimatedPositionCovariance, listener, locked, readings -
Constructor Summary
ConstructorsConstructorDescriptionConstructor.RangingRadioSourceEstimator2D(com.irurueta.geometry.Point2D initialPosition) Constructor.RangingRadioSourceEstimator2D(com.irurueta.geometry.Point2D initialPosition, RangingRadioSourceEstimatorListener<S, com.irurueta.geometry.Point2D> listener) Constructor.RangingRadioSourceEstimator2D(RangingRadioSourceEstimatorListener<S, com.irurueta.geometry.Point2D> listener) Constructor.RangingRadioSourceEstimator2D(List<? extends RangingReadingLocated<S, com.irurueta.geometry.Point2D>> readings) Constructor.RangingRadioSourceEstimator2D(List<? extends RangingReadingLocated<S, com.irurueta.geometry.Point2D>> readings, com.irurueta.geometry.Point2D initialPosition) Constructor.RangingRadioSourceEstimator2D(List<? extends RangingReadingLocated<S, com.irurueta.geometry.Point2D>> readings, com.irurueta.geometry.Point2D initialPosition, RangingRadioSourceEstimatorListener<S, com.irurueta.geometry.Point2D> listener) Constructor.RangingRadioSourceEstimator2D(List<? extends RangingReadingLocated<S, com.irurueta.geometry.Point2D>> readings, RangingRadioSourceEstimatorListener<S, com.irurueta.geometry.Point2D> listener) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidBuild an instance of accuracy if needed.protected voidBuilds an instance of a linear lateration solver if needed.protected voidBuilds an instance of a non-linear lateration solver if needed.com.irurueta.geometry.Point2DGets estimated radio source 2D position.RadioSourceLocated<com.irurueta.geometry.Point2D> Gets estimated located radio source.intGets minimum required number of readings to estimate position of radio source, which is 3 readings.intGets number of dimensions of position points.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.radiosource.RangingRadioSourceEstimator
estimate, getInitialPosition, getUseReadingPositionCovariance, isHomogeneousLinearSolverUsed, isNonLinearSolverEnabled, isReady, setHomogeneousLinearSolverUsed, setInitialPosition, setNonLinearSolverEnabled, setUseReadingPositionCovariancesMethods inherited from class com.irurueta.navigation.indoor.radiosource.RadioSourceEstimator
areValidReadings, getEstimatedCovariance, getEstimatedPosition, getEstimatedPositionCoordinates, getEstimatedPositionCovariance, getListener, getReadings, internalSetReadings, isLocked, setListener, setReadings
-
Constructor Details
-
RangingRadioSourceEstimator2D
public RangingRadioSourceEstimator2D()Constructor. -
RangingRadioSourceEstimator2D
public RangingRadioSourceEstimator2D(List<? extends RangingReadingLocated<S, com.irurueta.geometry.Point2D>> readings) Constructor. Sets radio signal ranging readings belonging to the same radio source.- Parameters:
readings- radio signal ranging readings belonging to the same radio source.- Throws:
IllegalArgumentException- if readings are not valid.
-
RangingRadioSourceEstimator2D
public RangingRadioSourceEstimator2D(com.irurueta.geometry.Point2D initialPosition) Constructor.- Parameters:
initialPosition- initial position to start the estimation or radio source position.
-
RangingRadioSourceEstimator2D
public RangingRadioSourceEstimator2D(List<? extends RangingReadingLocated<S, com.irurueta.geometry.Point2D>> readings, com.irurueta.geometry.Point2D initialPosition) Constructor. Sets radio signal readings belonging to the same radio source.- Parameters:
readings- radio signal readings belonging to the same radio source.initialPosition- initial position to start the estimation of radio source position.- Throws:
IllegalArgumentException- if readings are not valid.
-
-
Method Details
-
getMinReadings
public int getMinReadings()Gets minimum required number of readings to estimate position of radio source, which is 3 readings.- Specified by:
getMinReadingsin classRadioSourceEstimator<com.irurueta.geometry.Point2D,RangingReadingLocated<S extends RadioSource, com.irurueta.geometry.Point2D>, RangingRadioSourceEstimatorListener<S extends RadioSource, com.irurueta.geometry.Point2D>> - Returns:
- minimum required number of readings.
-
getNumberOfDimensions
public int getNumberOfDimensions()Gets number of dimensions of position points. This is always 2.- Specified by:
getNumberOfDimensionsin classRadioSourceEstimator<com.irurueta.geometry.Point2D,RangingReadingLocated<S extends RadioSource, com.irurueta.geometry.Point2D>, RangingRadioSourceEstimatorListener<S extends RadioSource, com.irurueta.geometry.Point2D>> - Returns:
- number of dimensions of position points.
-
getEstimatedPosition
public com.irurueta.geometry.Point2D getEstimatedPosition()Gets estimated radio source 2D position.- Specified by:
getEstimatedPositionin classRadioSourceEstimator<com.irurueta.geometry.Point2D,RangingReadingLocated<S extends RadioSource, com.irurueta.geometry.Point2D>, RangingRadioSourceEstimatorListener<S extends RadioSource, com.irurueta.geometry.Point2D>> - Returns:
- estimated radio source 2D position.
-
getEstimatedRadioSource
Gets estimated located radio source.- Specified by:
getEstimatedRadioSourcein classRadioSourceEstimator<com.irurueta.geometry.Point2D,RangingReadingLocated<S extends RadioSource, com.irurueta.geometry.Point2D>, RangingRadioSourceEstimatorListener<S extends RadioSource, com.irurueta.geometry.Point2D>> - Returns:
- estimated located radio source or null.
-
buildLinearSolverIfNeeded
protected void buildLinearSolverIfNeeded()Builds an instance of a linear lateration solver if needed.- Specified by:
buildLinearSolverIfNeededin classRangingRadioSourceEstimator<S extends RadioSource,com.irurueta.geometry.Point2D>
-
buildNonLinearSolverIfNeeded
protected void buildNonLinearSolverIfNeeded()Builds an instance of a non-linear lateration solver if needed.- Specified by:
buildNonLinearSolverIfNeededin classRangingRadioSourceEstimator<S extends RadioSource,com.irurueta.geometry.Point2D>
-
buildAccuracyIfNeeded
protected void buildAccuracyIfNeeded()Build an instance of accuracy if needed.- Specified by:
buildAccuracyIfNeededin classRangingRadioSourceEstimator<S extends RadioSource,com.irurueta.geometry.Point2D>
-
setPositionsDistancesAndDistanceStandardDeviations
protected void setPositionsDistancesAndDistanceStandardDeviations(List<com.irurueta.geometry.Point2D> positions, List<Double> distances, List<Double> distanceStandardDeviations) throws com.irurueta.navigation.LockedException Sets positions, distances and standard deviations of distances on internal lateration solver.- Specified by:
setPositionsDistancesAndDistanceStandardDeviationsin classRangingRadioSourceEstimator<S extends RadioSource,com.irurueta.geometry.Point2D> - Parameters:
positions- positions to be set.distances- distances to be set.distanceStandardDeviations- standard deviations of distances to be set or null.- Throws:
com.irurueta.navigation.LockedException- if solvers are locked.
-