Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
indoor_positioning.positioning_plus.PositioningPlus Class Reference
Inheritance diagram for indoor_positioning.positioning_plus.PositioningPlus:
Inheritance graph
[legend]

Public Member Functions

def __init__ (self, config_dir, min_beacons=4, max_z=None, dilation=0.0)
 
def get_range (self, responses)
 
def get_top_beacons (self, pings, n)
 
def in_range (self, pings, threshold=None)
 
def parse_srg (self, responses)
 
def trilaterate (self, ranges)
 

Static Public Member Functions

def mse (x, points, distances)
 

Public Attributes

 dilation
 
 eids
 
 max_z
 
 min_beacons
 

Static Public Attributes

 minimization_params
 

Detailed Description

Class to extend the functionality of the Positioning class with UWB ranging capabilities.

Definition at line 23 of file src/indoor_positioning/positioning_plus.py.

Constructor & Destructor Documentation

def indoor_positioning.positioning_plus.PositioningPlus.__init__ (   self,
  config_dir,
  min_beacons = 4,
  max_z = None,
  dilation = 0.0 
)
Initialize the class with zone and beacon definitions from YAML configuration file.
:param config_dir: String: Directory of the YAML config file
:param min_beacons: Int: Minimum number of beacons to use for trilateration
:param max_z: Float: Maximum z position the receiver can have after ranging

Definition at line 30 of file src/indoor_positioning/positioning_plus.py.

Member Function Documentation

def indoor_positioning.positioning_plus.PositioningPlus.get_range (   self,
  responses 
)

Definition at line 76 of file src/indoor_positioning/positioning_plus.py.

def indoor_positioning.positioning_plus.PositioningPlus.get_top_beacons (   self,
  pings,
  n 
)
Get the top n beacons in terms of RSSI values from a list of beacon pings.
:param pings: [String]: list of beacon pings
:param n: Int: Number of top beacons to return
:return: [Beacon]: list of beacon objects ordered according to RSSI values

Definition at line 52 of file src/indoor_positioning/positioning_plus.py.

def indoor_positioning.positioning_plus.PositioningPlus.in_range (   self,
  pings,
  threshold = None 
)
Get a list of beacons that are in range and are configured in the configuration YAML file from a list of
beacon pings recorded over a short duration. The returned beacons (EIDs) can be used for UWB ranging
:param pings: [String]: List of BCN pings
:param threshold: Int: Minimum RSSI value a beacon should have to be returned.
:return: [String]: List of EIDs that can be used for ranging

Definition at line 104 of file src/indoor_positioning/positioning_plus.py.

def indoor_positioning.positioning_plus.PositioningPlus.mse (   x,
  points,
  distances 
)
static
Cost-function to use for position estimation. Minimize the squared error of the distance between a variable
point x and each beacon and the measured UWB distance. mse = SUM(distance - dist(x, points)^2
:param x: [Float, Float, Float]: vector with variable components to be optimized
:param points: [[x, y, z], ...]: list of positions of the beacons used for UWB ranging
:param distances: [Float]: estimated distances from UWB ranging of above beacons
:return: Float: mean squared error for all beacon positions

Definition at line 166 of file src/indoor_positioning/positioning_plus.py.

def indoor_positioning.positioning_plus.PositioningPlus.parse_srg (   self,
  responses 
)
Parse a list of SRG ranging responses of UWB beacons. For each message (if it is valid) return the positions,
frame id and estimated ranges.
:param responses: [String]: list of SRG responses from UWB beacons
:return: [(Beacon, Float)]: list beacon-object and range pairs

Definition at line 80 of file src/indoor_positioning/positioning_plus.py.

def indoor_positioning.positioning_plus.PositioningPlus.trilaterate (   self,
  ranges 
)
Estimate the position of the receiver by using trilateration with at least three UWB responses
:param ranges: [([Float, Float, Float], Float)]: list of position and range pairs (obtained from parse_srg) or
       [(Beacon, Float)]: list of beacon object and range pairs (output from parse_srg())
:return: [Float, Float, Float]: 3D coordinates of estimated receiver location

Definition at line 126 of file src/indoor_positioning/positioning_plus.py.

Member Data Documentation

indoor_positioning.positioning_plus.PositioningPlus.dilation

Definition at line 50 of file src/indoor_positioning/positioning_plus.py.

indoor_positioning.positioning_plus.PositioningPlus.eids

Definition at line 44 of file src/indoor_positioning/positioning_plus.py.

indoor_positioning.positioning_plus.PositioningPlus.max_z

Definition at line 47 of file src/indoor_positioning/positioning_plus.py.

indoor_positioning.positioning_plus.PositioningPlus.min_beacons

Definition at line 41 of file src/indoor_positioning/positioning_plus.py.

indoor_positioning.positioning_plus.PositioningPlus.minimization_params
static
Initial value:
1 = dict(method='TNC', # L-BFGS-B, TNC or SLSQP
2  options={'disp': True})

Definition at line 27 of file src/indoor_positioning/positioning_plus.py.


The documentation for this class was generated from the following file:


indoor_positioning
Author(s): Christian Arndt
autogenerated on Mon Jun 10 2019 13:33:13