Class NonLinearRangingAndRssiPositionEstimator3D
java.lang.Object
com.irurueta.navigation.indoor.position.PositionEstimator<com.irurueta.geometry.Point3D,RangingAndRssiReading<? extends RadioSource>,RangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D>>
com.irurueta.navigation.indoor.position.RangingAndRssiPositionEstimator<com.irurueta.geometry.Point3D>
com.irurueta.navigation.indoor.position.NonLinearRangingAndRssiPositionEstimator<com.irurueta.geometry.Point3D>
com.irurueta.navigation.indoor.position.NonLinearRangingAndRssiPositionEstimator3D
public class NonLinearRangingAndRssiPositionEstimator3D
extends NonLinearRangingAndRssiPositionEstimator<com.irurueta.geometry.Point3D>
Estimates 3D position non-linearly using located radio sources and their ranging+RSSI
readings at unknown locations.
These kind of estimators can be used to determine the position of a given device by
getting ranging+RSSI readings at an unknown location of different radio sources whose
locations are known.
-
Field Summary
Fields inherited from class com.irurueta.navigation.indoor.position.NonLinearRangingAndRssiPositionEstimator
FALLBACK_DISTANCE_STANDARD_DEVIATION, laterationSolverListener, trilaterationSolverFields inherited from class com.irurueta.navigation.indoor.position.PositionEstimator
estimatedPositionCoordinates, fingerprint, listener, sources -
Constructor Summary
ConstructorsConstructorDescriptionConstructor.NonLinearRangingAndRssiPositionEstimator3D(com.irurueta.geometry.Point3D initialPosition) Constructor.NonLinearRangingAndRssiPositionEstimator3D(com.irurueta.geometry.Point3D initialPosition, RangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.NonLinearRangingAndRssiPositionEstimator3D(Fingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint) Constructor.NonLinearRangingAndRssiPositionEstimator3D(Fingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, com.irurueta.geometry.Point3D initialPosition) Constructor.NonLinearRangingAndRssiPositionEstimator3D(Fingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, com.irurueta.geometry.Point3D initialPosition, RangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.NonLinearRangingAndRssiPositionEstimator3D(Fingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, RangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.NonLinearRangingAndRssiPositionEstimator3D(RangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.NonLinearRangingAndRssiPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources) ConstructorNonLinearRangingAndRssiPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, com.irurueta.geometry.Point3D initialPosition) Constructor.NonLinearRangingAndRssiPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, com.irurueta.geometry.Point3D initialPosition, RangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.NonLinearRangingAndRssiPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, Fingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint) Constructor.NonLinearRangingAndRssiPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, Fingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, com.irurueta.geometry.Point3D initialPosition) Constructor.NonLinearRangingAndRssiPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, Fingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, com.irurueta.geometry.Point3D initialPosition, RangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.NonLinearRangingAndRssiPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, Fingerprint<? extends RadioSource, ? extends RangingAndRssiReading<? extends RadioSource>> fingerprint, RangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.NonLinearRangingAndRssiPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, RangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor. -
Method Summary
Modifier and TypeMethodDescriptioncom.irurueta.geometry.Point3DGets estimated position.private voidInitializes lateration solver.protected voidsetPositionsDistancesAndDistanceStandardDeviations(List<com.irurueta.geometry.Point3D> 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.position.NonLinearRangingAndRssiPositionEstimator
estimate, getCovariance, getDistances, getDistanceStandardDeviations, getFallbackDistanceStandardDeviation, getInitialPosition, getMinRequiredSources, getPositions, internalSetFingerprint, internalSetSources, isLocked, isRadioSourcePositionCovarianceUsed, isReady, setFallbackDistanceStandardDeviation, setInitialPosition, setRadioSourcePositionCovarianceUsedMethods inherited from class com.irurueta.navigation.indoor.position.PositionEstimator
getEstimatedPosition, getEstimatedPositionCoordinates, getFingerprint, getListener, getSources, setFingerprint, setListener, setSources
-
Constructor Details
-
NonLinearRangingAndRssiPositionEstimator3D
public NonLinearRangingAndRssiPositionEstimator3D()Constructor. -
NonLinearRangingAndRssiPositionEstimator3D
public NonLinearRangingAndRssiPositionEstimator3D(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.
-
NonLinearRangingAndRssiPositionEstimator3D
public NonLinearRangingAndRssiPositionEstimator3D(com.irurueta.geometry.Point3D initialPosition) Constructor.- Parameters:
initialPosition- initial position to start position estimation.
-
NonLinearRangingAndRssiPositionEstimator3D
public NonLinearRangingAndRssiPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, com.irurueta.geometry.Point3D 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.
-
-
Method Details
-
getEstimatedPosition
public com.irurueta.geometry.Point3D getEstimatedPosition()Gets estimated position.- Specified by:
getEstimatedPositionin classPositionEstimator<com.irurueta.geometry.Point3D,RangingAndRssiReading<? extends RadioSource>, RangingAndRssiPositionEstimatorListener<com.irurueta.geometry.Point3D>> - Returns:
- estimated position.
-
setPositionsDistancesAndDistanceStandardDeviations
protected void setPositionsDistancesAndDistanceStandardDeviations(List<com.irurueta.geometry.Point3D> positions, List<Double> distances, List<Double> distanceStandardDeviations) Sets positions, distances and standard deviations of distances on internal lateration solver.- Specified by:
setPositionsDistancesAndDistanceStandardDeviationsin classNonLinearRangingAndRssiPositionEstimator<com.irurueta.geometry.Point3D>- 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.
-