Paparazzi UAS  v5.18.0_stable
Paparazzi is a free software Unmanned Aircraft System.
relative_localization_filter.c File Reference
#include "relative_localization_filter.h"
#include "subsystems/datalink/telemetry.h"
#include "state.h"
#include "modules/datalink/extra_pprz_dl.h"
#include "subsystems/abi.h"
#include "math/pprz_algebra.h"
#include "math/pprz_algebra_int.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include "discrete_ekf_no_north.h"
+ Include dependency graph for relative_localization_filter.c:

Go to the source code of this file.

Macros

#define RELATIVE_LOCALIZATION_N_UAVS   4
 
#define RELATIVE_LOCALIZATION_NO_NORTH   1
 

Functions

static void range_msg_callback (uint8_t sender_id, uint8_t ac_id, float range, float trackedVx, float trackedVy, float trackedh, float trackedAx, float trackedAy, float trackedYawr)
 
static void send_relative_localization_data (struct transport_tx *trans, struct link_device *dev)
 
void relative_localization_filter_init (void)
 
void relative_localization_filter_periodic (void)
 

Variables

struct discrete_ekf_no_north ekf_rl [RELATIVE_LOCALIZATION_N_UAVS]
 
int32_t id_array [RELATIVE_LOCALIZATION_N_UAVS]
 
uint32_t latest_update_time [RELATIVE_LOCALIZATION_N_UAVS]
 
uint8_t number_filters
 
float range_array [RELATIVE_LOCALIZATION_N_UAVS]
 
uint8_t pprzmsg_cnt
 
static abi_event range_communication_event
 

Detailed Description

Author
Mario Coppola Relative Localization Filter for collision avoidance between drones

Definition in file relative_localization_filter.c.

Macro Definition Documentation

◆ RELATIVE_LOCALIZATION_N_UAVS

#define RELATIVE_LOCALIZATION_N_UAVS   4

Definition at line 41 of file relative_localization_filter.c.

◆ RELATIVE_LOCALIZATION_NO_NORTH

#define RELATIVE_LOCALIZATION_NO_NORTH   1

Definition at line 49 of file relative_localization_filter.c.

Function Documentation

◆ range_msg_callback()

static void range_msg_callback ( uint8_t  sender_id,
uint8_t  ac_id,
float  range,
float  trackedVx,
float  trackedVy,
float  trackedh,
float  trackedAx,
float  trackedAy,
float  trackedYawr 
)
static

◆ relative_localization_filter_init()

◆ relative_localization_filter_periodic()

void relative_localization_filter_periodic ( void  )

◆ send_relative_localization_data()

static void send_relative_localization_data ( struct transport_tx *  trans,
struct link_device *  dev 
)
static

Definition at line 111 of file relative_localization_filter.c.

References dev, ekf_rl, id_array, number_filters, pprzmsg_cnt, range_array, and mesonh.mesonh_atmosphere::X.

Referenced by relative_localization_filter_init().

+ Here is the caller graph for this function:

Variable Documentation

◆ ekf_rl

◆ id_array

◆ latest_update_time

Definition at line 61 of file relative_localization_filter.c.

Referenced by range_msg_callback().

◆ number_filters

◆ pprzmsg_cnt

◆ range_array

◆ range_communication_event

abi_event range_communication_event
static

Definition at line 66 of file relative_localization_filter.c.

Referenced by relative_localization_filter_init().