public final class AdaptedMultilateration extends BasicLaterationAlgorithm implements Releasable
AML is described in "Localization in Wireless Sensor Networks with Range Measurement Errors", Gulnur Selda Kuruoglu, Melike Erol and Sema Oktug, 2009.
Modifier and Type | Field and Description |
---|---|
static int |
MODE_ARBITRARY |
static int |
MODE_RANDOM |
Constructor and Description |
---|
AdaptedMultilateration() |
AdaptedMultilateration(int firstStepMode) |
Modifier and Type | Method and Description |
---|---|
String |
getName()
Returns the name of the algorithm.
|
Point2d |
localize(Point2d[] anchors,
double[] ranges,
Point2d actualPosition,
ErrorModel errorModel,
int width,
int height)
Runs the localization algorithm and returns the estimated position.
|
static Point2d |
multilaterate(Point2d[] anchors,
double[] ranges,
int firstStepMode)
Static call to this lateration algorithm.
|
String |
toString()
Returns a string representation of this lateration algorithm.
|
addRuntime, configure, evaluate, getAverageRuntime, getHistogramData, getLocalizationFailCount, getMaximumError, getMeanAbsoluteError, getMeanAbsoluteErrorPerAnchor, getMeanSquareError, getMeanSquareErrorMMSE, getRootMeanSquareError, getRootMeanSquareErrorMMSE, getStandardDeviation, isConfigurable, reset
public static final int MODE_ARBITRARY
public static final int MODE_RANDOM
public AdaptedMultilateration()
public AdaptedMultilateration(int firstStepMode)
public String getName()
LaterationAlgorithm
The name should not be too long, e.g. less than 20 chars.
getName
in interface LaterationAlgorithm
public Point2d localize(Point2d[] anchors, double[] ranges, Point2d actualPosition, ErrorModel errorModel, int width, int height)
LaterationAlgorithm
The size of the anchor and measured ranges array must be at least 3.
The actual position of the mobile node is passed to this method to allow the development of some sort of "cheating algorithm" which does some sort of optimum selection along a set of different algorithms.
The error model can be used by algorithms to determine the current average and maximum distance measurement error.
localize
in interface LaterationAlgorithm
anchors
- The anchor/reference nodes.ranges
- The measured distances to the anchor/reference nodes.actualPosition
- The actual location of the mobile node to be located.errorModel
- The current error model used for simulation or
null
if running with real data (no error
model available).width
- The width of the playing field used for simulation or
-1
if running with real data.height
- The height of the playing field used for simulation or
-1
if running with real data.null
if no position could be calculated, e.g.
localization failed.public String toString()
public static Point2d multilaterate(Point2d[] anchors, double[] ranges, int firstStepMode)
This might be useful if one is only interested in the result and not
the additional features of the BasicLaterationAlgorithm
class.
anchors
- The anchor/reference nodes.ranges
- The measured distances to the anchor/reference nodes.firstStepMode
- Arbitrary or random choice for the first step of
the AML algorithm.null
if no position could be calculated, e.g.
localization failed.Copyright © 2012 Thomas Hillebrandt. All Rights Reserved.