Paparazzi UAS
v5.14.0_stable-0-g3f680d1
Paparazzi is a free software Unmanned Aircraft System.
|
Go to the source code of this file.
Macros | |
#define | RANGE_FORCEFIELD_RECIEVE_ID ABI_BROADCAST |
#define | RANGE_FORCEFIELD_INNER_LIMIT 1.0f |
#define | RANGE_FORCEFIELD_OUTER_LIMIT 1.4f |
#define | RANGE_FORCEFIELD_MIN_VEL 0.0f |
#define | RANGE_FORCEFIELD_MAX_VEL 0.5f |
Functions | |
static float | compute_ff_vel (float range) |
static void | store_min_dist (float pos, float *nearest_pos, float range) |
static void | obstacle_cb (uint8_t sender_id, float range, float azimuth, float bearing) |
void | range_forcefield_init (void) |
void | range_forcefield_periodic (void) |
void | range_forcefield_update (float range, struct FloatEulers *body_to_sensor_eulers) |
Variables | |
struct range_forcefield_param_t | range_forcefield_param |
static struct FloatVect3 | ff_nearest_obs_pos |
static struct FloatVect3 | ff_nearest_obs_neg |
static abi_event | obstacle_ev |
#define RANGE_FORCEFIELD_INNER_LIMIT 1.0f |
Definition at line 37 of file range_forcefield.c.
Referenced by range_forcefield_init().
#define RANGE_FORCEFIELD_MAX_VEL 0.5f |
Definition at line 52 of file range_forcefield.c.
Referenced by range_forcefield_init().
#define RANGE_FORCEFIELD_MIN_VEL 0.0f |
Definition at line 47 of file range_forcefield.c.
Referenced by range_forcefield_init().
#define RANGE_FORCEFIELD_OUTER_LIMIT 1.4f |
Definition at line 42 of file range_forcefield.c.
Referenced by range_forcefield_init(), and range_forcefield_periodic().
#define RANGE_FORCEFIELD_RECIEVE_ID ABI_BROADCAST |
Definition at line 33 of file range_forcefield.c.
Referenced by range_forcefield_init().
|
static |
Definition at line 144 of file range_forcefield.c.
References range_forcefield_param_t::inner_limit, range_forcefield_param_t::max_vel, range_forcefield_param_t::min_vel, range_forcefield_param_t::outer_limit, and range_forcefield_param.
Referenced by range_forcefield_periodic().
|
static |
Definition at line 64 of file range_forcefield.c.
References FloatEulers::phi, FloatEulers::psi, range_forcefield_update(), and FloatEulers::theta.
Referenced by range_forcefield_init().
void range_forcefield_init | ( | void | ) |
Definition at line 76 of file range_forcefield.c.
References ff_nearest_obs_neg, ff_nearest_obs_pos, range_forcefield_param_t::inner_limit, range_forcefield_param_t::max_vel, range_forcefield_param_t::min_vel, obstacle_cb(), obstacle_ev, range_forcefield_param_t::outer_limit, RANGE_FORCEFIELD_INNER_LIMIT, RANGE_FORCEFIELD_MAX_VEL, RANGE_FORCEFIELD_MIN_VEL, RANGE_FORCEFIELD_OUTER_LIMIT, range_forcefield_param, RANGE_FORCEFIELD_RECIEVE_ID, FloatVect3::x, FloatVect3::y, and FloatVect3::z.
void range_forcefield_periodic | ( | void | ) |
Definition at line 97 of file range_forcefield.c.
References compute_ff_vel(), ff_nearest_obs_neg, ff_nearest_obs_pos, RANGE_FORCEFIELD_ID, RANGE_FORCEFIELD_OUTER_LIMIT, FloatVect3::x, FloatVect3::y, and FloatVect3::z.
void range_forcefield_update | ( | float | range, |
struct FloatEulers * | body_to_sensor_eulers | ||
) |
Definition at line 121 of file range_forcefield.c.
References ff_nearest_obs_neg, ff_nearest_obs_pos, float_rmat_of_eulers, float_rmat_transp_vmult(), store_min_dist(), FloatVect3::x, FloatVect3::y, and FloatVect3::z.
Referenced by obstacle_cb().
|
static |
Definition at line 165 of file range_forcefield.c.
Referenced by range_forcefield_update().
|
static |
Definition at line 58 of file range_forcefield.c.
Referenced by range_forcefield_init(), range_forcefield_periodic(), and range_forcefield_update().
|
static |
Definition at line 57 of file range_forcefield.c.
Referenced by range_forcefield_init(), range_forcefield_periodic(), and range_forcefield_update().
|
static |
Definition at line 63 of file range_forcefield.c.
Referenced by range_forcefield_init().
struct range_forcefield_param_t range_forcefield_param |
Definition at line 56 of file range_forcefield.c.
Referenced by compute_ff_vel(), and range_forcefield_init().