Class NonLinearRangingPositionEstimator3D
java.lang.Object
com.irurueta.navigation.indoor.position.PositionEstimator<com.irurueta.geometry.Point3D,RangingReading<? extends RadioSource>,RangingPositionEstimatorListener<com.irurueta.geometry.Point3D>>
com.irurueta.navigation.indoor.position.RangingPositionEstimator<com.irurueta.geometry.Point3D>
com.irurueta.navigation.indoor.position.NonLinearRangingPositionEstimator<com.irurueta.geometry.Point3D>
com.irurueta.navigation.indoor.position.NonLinearRangingPositionEstimator3D
public class NonLinearRangingPositionEstimator3D
extends NonLinearRangingPositionEstimator<com.irurueta.geometry.Point3D>
Estimates 3D 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.
-
Field Summary
Fields inherited from class com.irurueta.navigation.indoor.position.NonLinearRangingPositionEstimator
FALLBACK_DISTANCE_STANDARD_DEVIATION, laterationSolverListener, trilaterationSolverFields inherited from class com.irurueta.navigation.indoor.position.PositionEstimator
estimatedPositionCoordinates, fingerprint, listener, sources -
Constructor Summary
ConstructorsConstructorDescriptionConstructor.NonLinearRangingPositionEstimator3D(com.irurueta.geometry.Point3D initialPosition) Constructor.NonLinearRangingPositionEstimator3D(com.irurueta.geometry.Point3D initialPosition, RangingPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.NonLinearRangingPositionEstimator3D(Fingerprint<? extends RadioSource, ? extends RangingReading<? extends RadioSource>> fingerprint) Constructor.NonLinearRangingPositionEstimator3D(Fingerprint<? extends RadioSource, ? extends RangingReading<? extends RadioSource>> fingerprint, com.irurueta.geometry.Point3D initialPosition) Constructor.NonLinearRangingPositionEstimator3D(Fingerprint<? extends RadioSource, ? extends RangingReading<? extends RadioSource>> fingerprint, com.irurueta.geometry.Point3D initialPosition, RangingPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.NonLinearRangingPositionEstimator3D(Fingerprint<? extends RadioSource, ? extends RangingReading<? extends RadioSource>> fingerprint, RangingPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.NonLinearRangingPositionEstimator3D(RangingPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.NonLinearRangingPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources) ConstructorNonLinearRangingPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, com.irurueta.geometry.Point3D initialPosition) Constructor.NonLinearRangingPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, com.irurueta.geometry.Point3D initialPosition, RangingPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.NonLinearRangingPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, Fingerprint<? extends RadioSource, ? extends RangingReading<? extends RadioSource>> fingerprint) Constructor.NonLinearRangingPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, Fingerprint<? extends RadioSource, ? extends RangingReading<? extends RadioSource>> fingerprint, com.irurueta.geometry.Point3D initialPosition) Constructor.NonLinearRangingPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, Fingerprint<? extends RadioSource, ? extends RangingReading<? extends RadioSource>> fingerprint, com.irurueta.geometry.Point3D initialPosition, RangingPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.NonLinearRangingPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, Fingerprint<? extends RadioSource, ? extends RangingReading<? extends RadioSource>> fingerprint, RangingPositionEstimatorListener<com.irurueta.geometry.Point3D> listener) Constructor.NonLinearRangingPositionEstimator3D(List<? extends RadioSourceLocated<com.irurueta.geometry.Point3D>> sources, RangingPositionEstimatorListener<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.NonLinearRangingPositionEstimator
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
-
NonLinearRangingPositionEstimator3D
public NonLinearRangingPositionEstimator3D()Constructor. -
NonLinearRangingPositionEstimator3D
public NonLinearRangingPositionEstimator3D(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.
-
NonLinearRangingPositionEstimator3D
public NonLinearRangingPositionEstimator3D(com.irurueta.geometry.Point3D initialPosition) Constructor.- Parameters:
initialPosition- initial position to start position estimation.
-
NonLinearRangingPositionEstimator3D
public NonLinearRangingPositionEstimator3D(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,RangingReading<? extends RadioSource>, RangingPositionEstimatorListener<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 classNonLinearRangingPositionEstimator<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.
-