Paparazzi UAS  v6.2_unstable
Paparazzi is a free software Unmanned Aircraft System.
follow_me.c File Reference
#include "follow_me.h"
#include "modules/datalink/telemetry.h"
#include "generated/modules.h"
+ Include dependency graph for follow_me.c:

Go to the source code of this file.

Macros

#define FOLLOW_ME_DISTANCE   45
 
#define FOLLOW_ME_HEIGHT   75
 
#define FOLLOW_ME_MIN_SPEED   1.0f
 
#define FOLLOW_ME_GPS_TIMEOUT   5000
 
#define FOLLOW_ME_GROUND_TIMEOUT   5000
 
#define FOLLOW_ME_FILT   0.9
 

Functions

void follow_me_init (void)
 init function More...
 
void follow_me_parse_target_pos (uint8_t *buf)
 on receiving a TARGET_POS message More...
 
void follow_me_set_wp (uint8_t wp_id, float speed)
 run function More...
 

Variables

float follow_me_distance = FOLLOW_ME_DISTANCE
 distance from the ground gps More...
 
float follow_me_height = FOLLOW_ME_HEIGHT
 height from the ground gps More...
 
float follow_me_heading = 0.
 heading direction in which to hover from (automatically set if ground is exceeding speed) More...
 
float follow_me_min_speed = FOLLOW_ME_MIN_SPEED
 minimum speed in m/s which the ground needs to have in order to update the heading More...
 
float follow_me_filt = FOLLOW_ME_FILT
 Follow me course sin/cos filter value (higher is harder filter) More...
 
float follow_me_diag_speed = 1.0
 Diagonal speed for follow me. More...
 
float follow_me_gps_delay = 200
 Follow me GPS delay from the relative positionb packet (in ms) More...
 
float follow_me_datalink_delay = 600
 Follow me datalink delay from the ground GPS packet (in ms) More...
 
float follow_me_advance_ms = 800
 Follow me waypoint advance time in ms (multiplied by the ground speed) More...
 
float follow_me_min_dist = 1
 Follow me minimum distance in meters when trying to approach with a certain speed. More...
 
float follow_me_min_height = 30
 Follow me minimum height in meters when approaching with a speed. More...
 
static uint32_t ground_time_msec = 0
 
static bool ground_set = false
 
static struct LlaCoor_i ground_lla
 
static float ground_speed
 
static float ground_climb
 
static float ground_course
 

Detailed Description

Author
Freek van Tienen freek.nosp@m..v.t.nosp@m.ienen.nosp@m.@gma.nosp@m.il.co.nosp@m.m Control a rotorcraft to follow at a defined distance from the target

Definition in file follow_me.c.

Macro Definition Documentation

◆ FOLLOW_ME_DISTANCE

#define FOLLOW_ME_DISTANCE   45

Definition at line 33 of file follow_me.c.

◆ FOLLOW_ME_FILT

#define FOLLOW_ME_FILT   0.9

Definition at line 58 of file follow_me.c.

◆ FOLLOW_ME_GPS_TIMEOUT

#define FOLLOW_ME_GPS_TIMEOUT   5000

Definition at line 48 of file follow_me.c.

◆ FOLLOW_ME_GROUND_TIMEOUT

#define FOLLOW_ME_GROUND_TIMEOUT   5000

Definition at line 53 of file follow_me.c.

◆ FOLLOW_ME_HEIGHT

#define FOLLOW_ME_HEIGHT   75

Definition at line 38 of file follow_me.c.

◆ FOLLOW_ME_MIN_SPEED

#define FOLLOW_ME_MIN_SPEED   1.0f

Definition at line 43 of file follow_me.c.

Function Documentation

◆ follow_me_init()

void follow_me_init ( void  )

init function

Definition at line 80 of file follow_me.c.

References ground_set, and ground_time_msec.

◆ follow_me_parse_target_pos()

void follow_me_parse_target_pos ( uint8_t buf)

on receiving a TARGET_POS message

Definition at line 86 of file follow_me.c.

References LlaCoor_i::alt, f, follow_me_heading, follow_me_min_speed, get_sys_time_msec(), ground_climb, ground_course, ground_lla, ground_set, ground_speed, ground_time_msec, LlaCoor_i::lat, and LlaCoor_i::lon.

+ Here is the call graph for this function:

◆ follow_me_set_wp()

void follow_me_set_wp ( uint8_t  wp_id,
float  speed 
)

Variable Documentation

◆ follow_me_advance_ms

float follow_me_advance_ms = 800

Follow me waypoint advance time in ms (multiplied by the ground speed)

Definition at line 69 of file follow_me.c.

Referenced by follow_me_set_wp().

◆ follow_me_datalink_delay

float follow_me_datalink_delay = 600

Follow me datalink delay from the ground GPS packet (in ms)

Definition at line 68 of file follow_me.c.

Referenced by follow_me_set_wp().

◆ follow_me_diag_speed

float follow_me_diag_speed = 1.0

Diagonal speed for follow me.

Definition at line 66 of file follow_me.c.

◆ follow_me_distance

float follow_me_distance = FOLLOW_ME_DISTANCE

distance from the ground gps

Definition at line 61 of file follow_me.c.

Referenced by follow_me_set_wp().

◆ follow_me_filt

float follow_me_filt = FOLLOW_ME_FILT

Follow me course sin/cos filter value (higher is harder filter)

Definition at line 65 of file follow_me.c.

Referenced by follow_me_set_wp().

◆ follow_me_gps_delay

float follow_me_gps_delay = 200

Follow me GPS delay from the relative positionb packet (in ms)

Definition at line 67 of file follow_me.c.

Referenced by follow_me_set_wp().

◆ follow_me_heading

float follow_me_heading = 0.

heading direction in which to hover from (automatically set if ground is exceeding speed)

Definition at line 63 of file follow_me.c.

Referenced by follow_me_parse_target_pos(), and follow_me_set_wp().

◆ follow_me_height

float follow_me_height = FOLLOW_ME_HEIGHT

height from the ground gps

Definition at line 62 of file follow_me.c.

Referenced by follow_me_set_wp().

◆ follow_me_min_dist

float follow_me_min_dist = 1

Follow me minimum distance in meters when trying to approach with a certain speed.

Definition at line 70 of file follow_me.c.

Referenced by follow_me_set_wp().

◆ follow_me_min_height

float follow_me_min_height = 30

Follow me minimum height in meters when approaching with a speed.

Definition at line 71 of file follow_me.c.

Referenced by follow_me_set_wp().

◆ follow_me_min_speed

float follow_me_min_speed = FOLLOW_ME_MIN_SPEED

minimum speed in m/s which the ground needs to have in order to update the heading

Definition at line 64 of file follow_me.c.

Referenced by follow_me_parse_target_pos().

◆ ground_climb

float ground_climb
static

Definition at line 77 of file follow_me.c.

Referenced by follow_me_parse_target_pos().

◆ ground_course

float ground_course
static

Definition at line 78 of file follow_me.c.

Referenced by follow_me_parse_target_pos(), and follow_me_set_wp().

◆ ground_lla

struct LlaCoor_i ground_lla
static

Definition at line 75 of file follow_me.c.

Referenced by follow_me_parse_target_pos(), and follow_me_set_wp().

◆ ground_set

bool ground_set = false
static

Definition at line 74 of file follow_me.c.

Referenced by follow_me_init(), follow_me_parse_target_pos(), and follow_me_set_wp().

◆ ground_speed

◆ ground_time_msec

uint32_t ground_time_msec = 0
static

Definition at line 73 of file follow_me.c.

Referenced by follow_me_init(), follow_me_parse_target_pos(), and follow_me_set_wp().