Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
Go to the source code of this file.
Data Structures | |
struct | tag_tracking_public |
Macros | |
#define | TAG_TRACKING_NB_MAX 5 |
#define | TAG_TRACKING_ANY -2 |
#define | TAG_TRACKING_SEARCHING 0 |
#define | TAG_TRACKING_RUNNING 1 |
#define | TAG_TRACKING_LOST 2 |
#define | TAG_TRACKING_DISABLE 3 |
#define | TAG_TRACKING_FIXED_POS 0 |
#define | TAG_TRACKING_MOVING 1 |
Functions | |
void | tag_tracking_set_setting_id (float id) |
void | tag_tracking_set_motion_type (float motion_type) |
void | tag_tracking_set_predict_time (float predict_time) |
void | tag_tracking_set_kp (float kp) |
void | tag_tracking_set_kpz (float kpz) |
struct tag_tracking_public * | tag_tracking_get (int16_t tag_id) |
uint8_t | tag_tracking_get_status (int16_t tag_id) |
uint8_t | tag_tracking_get_motion_type (int16_t tag_id) |
void | tag_tracking_init (void) |
void | tag_tracking_propagate (void) |
void | tag_tracking_propagate_start (void) |
void | tag_tracking_report (void) |
void | tag_tracking_parse_target_pos (uint8_t *buf) |
void | tag_tracking_compute_speed (void) |
Control function. More... | |
bool | tag_tracking_set_tracker_id (int16_t tag_id, uint8_t wp_id) |
float | tag_tracking_get_heading (int16_t tag_id) |
Variables | |
int | tag_tracking_setting_id |
float | tag_tracking_motion_type |
float | tag_tracking_predict_time |
float | tag_tracking_kp |
float | tag_tracking_kpz |
struct tag_tracking_public |
Definition at line 54 of file tag_tracking.h.
Data Fields | ||
---|---|---|
struct FloatQuat | body_to_tag_quat | estimated attitude in body frame |
float | kp | horizontal tracking command gain |
float | kpz | vertical tracking command gain |
uint8_t | motion_type | type of tag motion |
struct FloatQuat | ned_to_tag_quat | estimated attitude in NED frame |
struct FloatVect3 | pos | estimated position |
float | predict_time | prediction time for WP tag |
struct FloatVect3 | speed | estimated speed |
struct NedCoor_f | speed_cmd | speed command to track the tag position |
uint8_t | status | tracking status flag |
#define TAG_TRACKING_ANY -2 |
Definition at line 41 of file tag_tracking.h.
#define TAG_TRACKING_DISABLE 3 |
Definition at line 47 of file tag_tracking.h.
#define TAG_TRACKING_FIXED_POS 0 |
Definition at line 51 of file tag_tracking.h.
#define TAG_TRACKING_LOST 2 |
Definition at line 46 of file tag_tracking.h.
#define TAG_TRACKING_MOVING 1 |
Definition at line 52 of file tag_tracking.h.
#define TAG_TRACKING_NB_MAX 5 |
Definition at line 37 of file tag_tracking.h.
#define TAG_TRACKING_RUNNING 1 |
Definition at line 45 of file tag_tracking.h.
#define TAG_TRACKING_SEARCHING 0 |
Definition at line 44 of file tag_tracking.h.
void tag_tracking_compute_speed | ( | void | ) |
Control function.
calling this function only updates the command vector it can be applied to the guidance control using the guided mode or from the flight plan with 'guided' instruction
Definition at line 509 of file tag_tracking.c.
References FLOAT_VECT3_ZERO, tag_tracking_public::kp, tag_tracking_public::kpz, tag_tracking_public::pos, tag_tracking_public::speed, tag_tracking_public::speed_cmd, stateGetPositionNed_f(), tag_infos, tag_info::tag_tracking, TAG_TRACKING_MAX_SPEED, TAG_TRACKING_MAX_VZ, TAG_TRACKING_NB_MAX, TAG_TRACKING_RUNNING, VECT2_STRIM, FloatVect3::x, NedCoor_f::x, FloatVect3::y, NedCoor_f::y, FloatVect3::z, and NedCoor_f::z.
struct tag_tracking_public* tag_tracking_get | ( | int16_t | tag_id | ) |
Definition at line 215 of file tag_tracking.c.
References dummy, float_quat_identity(), tag_tracking_public::ned_to_tag_quat, tag_tracking_public::status, tag_infos, tag_info::tag_tracking, TAG_TRACKING_ANY, TAG_TRACKING_NB_MAX, TAG_TRACKING_RUNNING, and TAG_TRACKING_SEARCHING.
Referenced by tag_tracking_get_heading(), tag_tracking_get_motion_type(), and tag_tracking_get_status().
float tag_tracking_get_heading | ( | int16_t | tag_id | ) |
Definition at line 242 of file tag_tracking.c.
References float_eulers_of_quat(), tag_tracking_public::ned_to_tag_quat, FloatEulers::psi, and tag_tracking_get().
Definition at line 237 of file tag_tracking.c.
References tag_tracking_public::motion_type, and tag_tracking_get().
Definition at line 232 of file tag_tracking.c.
References tag_tracking_public::status, and tag_tracking_get().
void tag_tracking_init | ( | void | ) |
Definition at line 366 of file tag_tracking.c.
References float_quat_identity(), float_quat_of_eulers(), float_rmat_of_eulers, FLOAT_VECT3_ZERO, tag_tracking::id, tag_tracking_public::kp, tag_tracking_public::kpz, Min, tag_tracking_public::motion_type, tag_tracking_public::predict_time, rot_x_quat, tag_tracking_public::status, wp_tracking::tag_id, tag_infos, tag_track_cb(), tag_track_ev, tag_info::tag_track_private, tag_info::tag_tracking, TAG_TRACKING_BODY_TO_CAM_PHI, TAG_TRACKING_BODY_TO_CAM_PSI, TAG_TRACKING_BODY_TO_CAM_THETA, TAG_TRACKING_CAM_POS_X, TAG_TRACKING_CAM_POS_Y, TAG_TRACKING_CAM_POS_Z, TAG_TRACKING_FIXED_POS, TAG_TRACKING_ID, TAG_TRACKING_KP, TAG_TRACKING_KPZ, TAG_TRACKING_NB_MAX, TAG_TRACKING_PREDICT_TIME, TAG_TRACKING_SEARCHING, tag_tracking_wps_len, TAG_UNUSED_ID, tag_tracking::timeout, tag_tracking::updated, VECT3_ASSIGN, tag_info::wp_id, wp_tracking::wp_id, and wp_track.
void tag_tracking_parse_target_pos | ( | uint8_t * | buf | ) |
Definition at line 321 of file tag_tracking.c.
References tag_tracking::id, tag_tracking::meas, tag_infos, tag_info::tag_track_private, TAG_TRACKING_COORD_TO_M, TAG_TRACKING_NB_MAX, tag_tracking::timeout, update_tag_position(), tag_tracking::updated, FloatVect3::x, FloatVect3::y, and FloatVect3::z.
void tag_tracking_propagate | ( | void | ) |
Definition at line 412 of file tag_tracking.c.
References simple_kinematic_kalman_get_state(), simple_kinematic_kalman_predict(), SIMPLE_KINEMATIC_KALMAN_SPEED_3D, simple_kinematic_kalman_update_speed(), tag_tracking_public::speed, tag_tracking_public::status, tag_infos, tag_track_dt, tag_info::tag_track_private, tag_info::tag_tracking, TAG_TRACKING_FIXED_POS, TAG_TRACKING_LOST, TAG_TRACKING_NB_MAX, tag_tracking_propagate_start_tag(), TAG_TRACKING_RUNNING, TAG_TRACKING_SEARCHING, TAG_TRACKING_TIMEOUT, tag_tracking::timeout, and update_wp().
void tag_tracking_propagate_start | ( | void | ) |
Definition at line 461 of file tag_tracking.c.
References tag_infos, TAG_TRACKING_NB_MAX, and tag_tracking_propagate_start_tag().
void tag_tracking_report | ( | void | ) |
Definition at line 468 of file tag_tracking.c.
References DefaultChannel, DefaultDevice, ecef_of_ned_point_f(), tag_info::kalman, LlaCoor_f::lat, lla_of_ecef_f(), LlaCoor_f::lon, msg, State::ned_origin_f, tag_tracking_public::pos, SimpleKinematicKalman::state, state, tag_infos, tag_info::tag_track_private, tag_info::tag_tracking, TAG_TRACKING_NB_MAX, TAG_TRACKING_RUNNING, TAG_UNUSED_ID, update_wp(), and tag_tracking::updated.
void tag_tracking_set_kp | ( | float | kp | ) |
Definition at line 655 of file tag_tracking.c.
References tag_tracking_public::kp, tag_infos, tag_info::tag_tracking, tag_tracking_kp, TAG_TRACKING_NB_MAX, tag_tracking_setting_id, and TAG_UNUSED_ID.
void tag_tracking_set_kpz | ( | float | kpz | ) |
Definition at line 665 of file tag_tracking.c.
References tag_tracking_public::kpz, tag_infos, tag_info::tag_tracking, tag_tracking_kpz, TAG_TRACKING_NB_MAX, tag_tracking_setting_id, and TAG_UNUSED_ID.
void tag_tracking_set_motion_type | ( | float | motion_type | ) |
Definition at line 635 of file tag_tracking.c.
References tag_tracking_public::motion_type, tag_infos, tag_info::tag_tracking, tag_tracking_motion_type, TAG_TRACKING_NB_MAX, tag_tracking_setting_id, and TAG_UNUSED_ID.
void tag_tracking_set_predict_time | ( | float | predict_time | ) |
Definition at line 645 of file tag_tracking.c.
References tag_tracking_public::predict_time, tag_infos, tag_info::tag_tracking, TAG_TRACKING_NB_MAX, tag_tracking_predict_time, tag_tracking_setting_id, and TAG_UNUSED_ID.
void tag_tracking_set_setting_id | ( | float | id | ) |
Definition at line 675 of file tag_tracking.c.
Definition at line 528 of file tag_tracking.c.
References tag_tracking::id, tag_infos, tag_info::tag_track_private, TAG_TRACKING_NB_MAX, TAG_UNUSED_ID, and tag_info::wp_id.
|
extern |
Definition at line 631 of file tag_tracking.c.
Referenced by tag_tracking_set_kp().
|
extern |
Definition at line 632 of file tag_tracking.c.
Referenced by tag_tracking_set_kpz().
|
extern |
Definition at line 629 of file tag_tracking.c.
Referenced by tag_tracking_set_motion_type().
|
extern |
Definition at line 630 of file tag_tracking.c.
Referenced by tag_tracking_set_predict_time().
|
extern |
Definition at line 628 of file tag_tracking.c.
Referenced by tag_tracking_set_kp(), tag_tracking_set_kpz(), tag_tracking_set_motion_type(), and tag_tracking_set_predict_time().