Skip to content

library

Timur Chikichev edited this page Nov 9, 2021 · 1 revision

navigine::navigation_core

Classes

Name
class navigine::navigation_core::Barometer
class navigine::navigation_core::ComplementaryFilter
class navigine::navigation_core::DeviceProperties
struct navigine::navigation_core::GpsPosition
class navigine::navigation_core::LevelEstimator
class navigine::navigation_core::LevelEstimatorRadiomap
class navigine::navigation_core::LevelEstimatorTransmitters
class navigine::navigation_core::LevelHistory
class navigine::navigation_core::Likelihood
class navigine::navigation_core::LikelihoodRadiomap
struct navigine::navigation_core::Magnitude
class navigine::navigation_core::MeasurementsPreprocessor
class navigine::navigation_core::NavigationClientImpl
class navigine::navigation_core::NavigationTimeSmoother
struct navigine::navigation_core::Orientation
class navigine::navigation_core::Pedometer
class navigine::navigation_core::PolynomialFit
struct navigine::navigation_core::Position
class navigine::navigation_core::PositionEstimator
class navigine::navigation_core::PositionEstimatorKnn
class navigine::navigation_core::PositionEstimatorOutdoor
class navigine::navigation_core::PositionEstimatorZone
class navigine::navigation_core::PositionPostprocessor
class navigine::navigation_core::PositionSmoother
class navigine::navigation_core::PositionSmootherAB
class navigine::navigation_core::PositionSmootherLstsq
class navigine::navigation_core::Quaternion
class navigine::navigation_core::RadioMeasurementBuffer
struct navigine::navigation_core::RefPointsTriangle
class navigine::navigation_core::SensorFusion
class navigine::navigation_core::SigmaFilter
struct navigine::navigation_core::Step
class navigine::navigation_core::Triangle
class navigine::navigation_core::TriangleEdge
struct navigine::navigation_core::TriangleVertex
struct navigine::navigation_core::TriangleVerticesWeights
class navigine::navigation_core::Trilateration

Types

Name
enum class MeasurementLikelihoodModel { DISTANCE_V1, DISTANCE_V2, RSSI, RADIOMAP}
using MeasurementDataWithTimeStamp< SensorMeasurementData > SensorMeasurement
using MeasurementDataWithTimeStamp< NmeaMeasurementData > NmeaMeasurement
using MeasurementDataWithTimeStamp< RadioMeasurementData > RadioMeasurement

Functions

Name
double SegmentPointDist(const XYPoint & p1, const XYPoint & p2, const XYPoint & p)
double GetDist(const LocationPoint & A, const LocationPoint & B)
double GetDist(double ax, double ay, double bx, double by)
double GetDist(const LocationPoint & A, const LocationPoint & B, const LocationPoint & C)
double GetArea(const LocationPoint & A, const LocationPoint & B, const LocationPoint & C)
double GetArea(double ax, double ay, double bx, double by, double cx, double cy)
double Determinant(double a11, double a12, double a21, double a22)
double Determinant(double a11, double a12, double a13, double a21, double a22, double a23, double a31, double a32, double a33)
double GetProjection(double ax, double ay, double bx, double by, double ox, double oy, double px, double py)
double GetIntersection(double px, double py, double qx, double qy, double ax, double ay, double bx, double by, double x, double y)
bool CheckIntersection(double ax, double ay, double bx, double by, double cx, double cy, double dx, double dy)
bool PointOnLine(double x, double y, double x1, double y1, double x2, double y2)
bool XRayIntersectsLine(double x, double y, double x1, double y1, double x2, double y2)
std::map< LevelId, std::vector< RefPointsTriangle > > triangulate(const std::shared_ptr< LevelCollector > & levelCollector)
triangulate my paprams lzvnejvljbled
std::map< LevelId, std::multimap< TransmitterId, std::pair< ReferencePointId, SignalStatistics > > > getLevelsRadiomaps(const std::shared_ptr< LevelCollector > & levelCollector)
std::map< LevelId, std::set< TransmitterId > > getLevelReferenceTransmittersMap(const std::shared_ptr< LevelCollector > & levelCollector)
std::map< ReferencePointId, double > calcRpWeightsKnn(const std::multimap< TransmitterId, std::pair< ReferencePointId, SignalStatistics > > & radiomap, const RadioMeasurementsData & msr, bool useDiffMode =true)
XYPoint calcPositionInTriangle(const std::vector< RefPointsTriangle > & triangles, const Radiomap & rps, const std::map< ReferencePointId, double > & rpToWeight)
XYPoint calcKHeaviestRefPointsAverage(const Radiomap & radiomap, const std::map< ReferencePointId, double > & rpToWeight, size_t k)
RadioMeasurementsData getWhitelistedMeasurements(const std::set< TransmitterId > & wl, const RadioMeasurementsData msrs)
template <typename KeyType ,typename ValType >
ValType
func_helper(const std::map< KeyType, ValType > & map, KeyType key, ValType defVal)
template <typename ... Keys,typename ValType ,typename KeyType >
auto
getValueForEachKey(const std::map< KeyType, ValType > & map, ValType defVal, Keys... keys)
bool isParticleInIntersectionArea(const Level & level, const RadioMeasurementsData & radioMsr, double x, double y)
std::shared_ptr< Likelihood > createLikelihoodLogModel(const std::shared_ptr< LevelCollector > & levelCollector, const NavigationSettings & navProps, MeasurementLikelihoodModel likelihoodModel)
void solveLinearSystem(const std::vector< double > & A, const std::vector< double > & b, std::vector< double > & x, const int n)
double to_minus_Pi_Pi(double x)
Quaternion operator+(Quaternion l_q, const Quaternion & r_q)
Quaternion operator-(Quaternion l_q, const Quaternion & r_q)
Quaternion operator*(Quaternion l_q, const double & scale)
Quaternion operator*(const double & scale, Quaternion l_q)
Quaternion operator*(Quaternion q1, const Quaternion & q2)
std::vector< Triangle > TriangulateVertices(const std::vector< TriangleVertex > & vertices, double maxedge)

Attributes

Name
const double GEOMETRY_DOUBLE_EPSILON
constexpr const double MIN_WEIGHT_SUM_DOUBLE_EPSILON
const int ERROR_NO_SOLUTION
const int MISSING_STRING_CONFIG
const int MISSING_LEVELS
const int NO_PARAMETERS_IN_JSON_FILE
const int ERROR_OPEN_FILE
const int INVALID_LOC_ID_IN_JSON_FILE
const int INVALID_PARAMETER_IN_JSON_FILE

Types Documentation

enum MeasurementLikelihoodModel

Enumerator Value Description
DISTANCE_V1
DISTANCE_V2
RSSI
RADIOMAP

using SensorMeasurement

using navigine::navigation_core::SensorMeasurement = typedef MeasurementDataWithTimeStamp<SensorMeasurementData>;

using NmeaMeasurement

using navigine::navigation_core::NmeaMeasurement = typedef MeasurementDataWithTimeStamp<NmeaMeasurementData>;

using RadioMeasurement

using navigine::navigation_core::RadioMeasurement = typedef MeasurementDataWithTimeStamp<RadioMeasurementData>;

Functions Documentation

function SegmentPointDist

double SegmentPointDist(
    const XYPoint & p1,
    const XYPoint & p2,
    const XYPoint & p
)

function GetDist

double GetDist(
    const LocationPoint & A,
    const LocationPoint & B
)

function GetDist

double GetDist(
    double ax,
    double ay,
    double bx,
    double by
)

function GetDist

double GetDist(
    const LocationPoint & A,
    const LocationPoint & B,
    const LocationPoint & C
)

function GetArea

double GetArea(
    const LocationPoint & A,
    const LocationPoint & B,
    const LocationPoint & C
)

function GetArea

double GetArea(
    double ax,
    double ay,
    double bx,
    double by,
    double cx,
    double cy
)

function Determinant

double Determinant(
    double a11,
    double a12,
    double a21,
    double a22
)

function Determinant

double Determinant(
    double a11,
    double a12,
    double a13,
    double a21,
    double a22,
    double a23,
    double a31,
    double a32,
    double a33
)

function GetProjection

double GetProjection(
    double ax,
    double ay,
    double bx,
    double by,
    double ox,
    double oy,
    double * px,
    double * py
)

function GetIntersection

double GetIntersection(
    double px,
    double py,
    double qx,
    double qy,
    double ax,
    double ay,
    double bx,
    double by,
    double * x,
    double * y
)

function CheckIntersection

bool CheckIntersection(
    double ax,
    double ay,
    double bx,
    double by,
    double cx,
    double cy,
    double dx,
    double dy
)

function PointOnLine

bool PointOnLine(
    double x,
    double y,
    double x1,
    double y1,
    double x2,
    double y2
)

function XRayIntersectsLine

bool XRayIntersectsLine(
    double x,
    double y,
    double x1,
    double y1,
    double x2,
    double y2
)

function triangulate

std::map< LevelId, std::vector< RefPointsTriangle > > triangulate(
    const std::shared_ptr< LevelCollector > & levelCollector
)

triangulate my paprams lzvnejvljbled

Parameters:

  • levelCollector param odsoubod

Return: std::map<LevelId, std::vector>

function getLevelsRadiomaps

std::map< LevelId, std::multimap< TransmitterId, std::pair< ReferencePointId, SignalStatistics > > > getLevelsRadiomaps(
    const std::shared_ptr< LevelCollector > & levelCollector
)

function getLevelReferenceTransmittersMap

std::map< LevelId, std::set< TransmitterId > > getLevelReferenceTransmittersMap(
    const std::shared_ptr< LevelCollector > & levelCollector
)

function calcRpWeightsKnn

std::map< ReferencePointId, double > calcRpWeightsKnn(
    const std::multimap< TransmitterId, std::pair< ReferencePointId, SignalStatistics > > & radiomap,
    const RadioMeasurementsData & msr,
    bool useDiffMode =true
)

function calcPositionInTriangle

XYPoint calcPositionInTriangle(
    const std::vector< RefPointsTriangle > & triangles,
    const Radiomap & rps,
    const std::map< ReferencePointId, double > & rpToWeight
)

function calcKHeaviestRefPointsAverage

XYPoint calcKHeaviestRefPointsAverage(
    const Radiomap & radiomap,
    const std::map< ReferencePointId, double > & rpToWeight,
    size_t k
)

function getWhitelistedMeasurements

RadioMeasurementsData getWhitelistedMeasurements(
    const std::set< TransmitterId > & wl,
    const RadioMeasurementsData msrs
)

function func_helper

template <typename KeyType ,
typename ValType >
ValType func_helper(
    const std::map< KeyType, ValType > & map,
    KeyType key,
    ValType defVal
)

function getValueForEachKey

template <typename ... Keys,
typename ValType ,
typename KeyType >
auto getValueForEachKey(
    const std::map< KeyType, ValType > & map,
    ValType defVal,
    Keys... keys
)

function isParticleInIntersectionArea

bool isParticleInIntersectionArea(
    const Level & level,
    const RadioMeasurementsData & radioMsr,
    double x,
    double y
)

function createLikelihoodLogModel

std::shared_ptr< Likelihood > createLikelihoodLogModel(
    const std::shared_ptr< LevelCollector > & levelCollector,
    const NavigationSettings & navProps,
    MeasurementLikelihoodModel likelihoodModel
)

function solveLinearSystem

void solveLinearSystem(
    const std::vector< double > & A,
    const std::vector< double > & b,
    std::vector< double > & x,
    const int n
)

function to_minus_Pi_Pi

double to_minus_Pi_Pi(
    double x
)

function operator+

Quaternion operator+(
    Quaternion l_q,
    const Quaternion & r_q
)

function operator-

Quaternion operator-(
    Quaternion l_q,
    const Quaternion & r_q
)

function operator*

Quaternion operator*(
    Quaternion l_q,
    const double & scale
)

function operator*

Quaternion operator*(
    const double & scale,
    Quaternion l_q
)

function operator*

Quaternion operator*(
    Quaternion q1,
    const Quaternion & q2
)

function TriangulateVertices

std::vector< Triangle > TriangulateVertices(
    const std::vector< TriangleVertex > & vertices,
    double maxedge
)

Attributes Documentation

variable GEOMETRY_DOUBLE_EPSILON

static const double GEOMETRY_DOUBLE_EPSILON = 1e-8;

variable MIN_WEIGHT_SUM_DOUBLE_EPSILON

constexpr const double MIN_WEIGHT_SUM_DOUBLE_EPSILON = 1e-8;

variable ERROR_NO_SOLUTION

static const int ERROR_NO_SOLUTION = 4;

variable MISSING_STRING_CONFIG

static const int MISSING_STRING_CONFIG = 5;

variable MISSING_LEVELS

static const int MISSING_LEVELS = 6;

variable NO_PARAMETERS_IN_JSON_FILE

static const int NO_PARAMETERS_IN_JSON_FILE = 21;

variable ERROR_OPEN_FILE

static const int ERROR_OPEN_FILE = 25;

variable INVALID_LOC_ID_IN_JSON_FILE

static const int INVALID_LOC_ID_IN_JSON_FILE = 26;

variable INVALID_PARAMETER_IN_JSON_FILE

static const int INVALID_PARAMETER_IN_JSON_FILE = 27;

Updated on 2021-10-12 at 18:34:40 +0300

Clone this wiki locally