Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
trilateration.h File Reference
#include "std.h"
#include "math/pprz_geodetic_float.h"
+ Include dependency graph for trilateration.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  Anchor
 Anchor structure. More...
 

Functions

int trilateration_init (struct Anchor *anchors)
 Init internal trilateration structures. More...
 
int trilateration_compute (struct Anchor *anchors, struct EnuCoor_f *pos)
 Compute trilateration based on the latest measurments. More...
 

Detailed Description

Author
Gautier Hattenberger Trilateration algorithm https://en.wikipedia.org/wiki/Trilateration

Definition in file trilateration.h.


Data Structure Documentation

◆ Anchor

struct Anchor

Anchor structure.

Definition at line 34 of file trilateration.h.

+ Collaboration diagram for Anchor:
Data Fields
float distance last measured distance
uint16_t id anchor ID
struct EnuCoor_f pos position of the anchor
float time time of the last received data
bool updated new data available

Function Documentation

◆ trilateration_compute()

int trilateration_compute ( struct Anchor anchors,
struct EnuCoor_f pos 
)

Compute trilateration based on the latest measurments.

Parameters
[in]anchorsarray of anchors with updated distance measurements
[out]poscomputed position
Returns
error status (0 for valid position)

Definition at line 87 of file trilateration.c.

References D, d2, Anchor::distance, Ex, Ey, Ez, I, init_failed, J, P, EnuCoor_f::x, EnuCoor_f::y, and EnuCoor_f::z.

Referenced by check_and_compute_data().

+ Here is the caller graph for this function:

◆ trilateration_init()

int trilateration_init ( struct Anchor anchors)

Init internal trilateration structures.

Parameters
[in]anchorsarray of anchors with their location

Definition at line 39 of file trilateration.c.

References D, Ex, Ey, Ez, float_vect_add(), float_vect_diff(), float_vect_dot_product(), float_vect_norm(), float_vect_sdiv(), float_vect_smul(), I, init_failed, J, P, Anchor::pos, EnuCoor_f::x, EnuCoor_f::y, and EnuCoor_f::z.

Referenced by dw1000_arduino_init().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: