|  | Paparazzi UAS v7.0_unstable
    Paparazzi is a free software Unmanned Aircraft System. | 
Reference generation for horizontal guidance. More...
#include "inttypes.h"#include "math/pprz_algebra.h"#include "math/pprz_algebra_int.h"#include "math/pprz_algebra_float.h"#include "generated/airframe.h" Include dependency graph for guidance_h_ref.h:
 Include dependency graph for guidance_h_ref.h: This graph shows which files directly or indirectly include this file:
 This graph shows which files directly or indirectly include this file:Go to the source code of this file.
| Data Structures | |
| struct | GuidanceHRef | 
| Macros | |
| #define | GUIDANCE_H_REF_MAX_SPEED 5. | 
| Default speed saturation. | |
| #define | GUIDANCE_H_REF_MAX_ACCEL 5.66 | 
| Accel saturation. | |
| #define | GH_POS_REF_FRAC 37 | 
| fixedpoint representation: Q26.37 will give a range of 67e3 km and a resolution of 1.5e-11 m. | |
| Functions | |
| void | gh_ref_init (void) | 
| void | gh_set_ref (struct Int32Vect2 pos, struct FloatVect2 speed, struct FloatVect2 accel) | 
| void | gh_update_ref_from_pos_sp (struct Int32Vect2 pos_sp) | 
| void | gh_update_ref_from_speed_sp (struct FloatVect2 speed_sp) | 
| void | gh_update_ref_from_accel_sp (struct FloatVect2 accel_sp) | 
| float | gh_set_max_speed (float max_speed) | 
| Set a new maximum speed for waypoint navigation. | |
| float | gh_set_tau (float tau) | 
| float | gh_set_omega (float omega) | 
| float | gh_set_zeta (float zeta) | 
| Variables | |
| float | gh_max_speed | 
| Current maximum speed for waypoint navigation. | |
| struct GuidanceHRef | gh_ref | 
Reference generation for horizontal guidance.
Definition in file guidance_h_ref.h.
| struct GuidanceHRef | 
Definition at line 60 of file guidance_h_ref.h.
 Collaboration diagram for GuidanceHRef:
 Collaboration diagram for GuidanceHRef:| Data Fields | ||
|---|---|---|
| struct FloatVect2 | accel | Reference model acceleration. in meters/sec2 (output) | 
| float | dt | Integration timestep. | 
| float | inv_tau | |
| float | max_speed | Current maximum speed for waypoint navigation. Defaults to GUIDANCE_H_REF_MAX_SPEED | 
| float | omega | second order model natural frequency | 
| float | omega_2 | |
| struct Int64Vect2 | pos | Reference model position. in meters with fixedpoint representation: Q37.26 | 
| struct FloatVect2 | speed | Reference model speed. in meters/sec accuracy 0.0000076 , range 16384m/s | 
| float | tau | first order time constant | 
| float | zeta | second order model damping | 
| float | zeta_omega | |
| #define GH_POS_REF_FRAC 37 | 
fixedpoint representation: Q26.37 will give a range of 67e3 km and a resolution of 1.5e-11 m.
At a rate of 500Hz, a ref speed of 7.3e-9 m/s could still update the position.
Definition at line 58 of file guidance_h_ref.h.
| #define GUIDANCE_H_REF_MAX_ACCEL 5.66 | 
| #define GUIDANCE_H_REF_MAX_SPEED 5. | 
Default speed saturation.
Definition at line 39 of file guidance_h_ref.h.
Definition at line 51 of file guidance_h_ref.c.
References GuidanceHRef::dt, foo, gh_ref, gh_set_max_speed(), gh_set_tau(), GUIDANCE_H_REF_MAX_SPEED, GUIDANCE_H_REF_OMEGA, GUIDANCE_H_REF_TAU, GUIDANCE_H_REF_ZETA, GuidanceHRef::omega, GuidanceHRef::omega_2, GuidanceHRef::zeta, and GuidanceHRef::zeta_omega.
Referenced by guidance_h_init().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:Set a new maximum speed for waypoint navigation.
| max_speed | speed saturation in m/s | 
Definition at line 63 of file guidance_h_ref.c.
References foo, gh_ref, GuidanceHRef::max_speed, and Min.
Referenced by gh_ref_init(), and guidance_h_SetMaxSpeed().
 Here is the caller graph for this function:
 Here is the caller graph for this function:Definition at line 78 of file guidance_h_ref.c.
References foo, gh_ref, GuidanceHRef::omega, GuidanceHRef::omega_2, GuidanceHRef::zeta, and GuidanceHRef::zeta_omega.
Referenced by guidance_h_SetOmega().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | extern | 
Definition at line 95 of file guidance_h_ref.c.
References GuidanceHRef::accel, foo, GH_POS_REF_FRAC, gh_ref, INT32_POS_FRAC, GuidanceHRef::pos, GuidanceHRef::speed, VECT2_COPY, Int32Vect2::x, Int64Vect2::x, and Int32Vect2::y.
Referenced by guidance_h_update_reference(), and reset_guidance_reference_from_current_position().
 Here is the caller graph for this function:
 Here is the caller graph for this function:Definition at line 70 of file guidance_h_ref.c.
References foo, gh_ref, GuidanceHRef::inv_tau, and GuidanceHRef::tau.
Referenced by gh_ref_init(), and guidance_h_SetTau().
 Here is the caller graph for this function:
 Here is the caller graph for this function:Definition at line 87 of file guidance_h_ref.c.
References foo, gh_ref, GuidanceHRef::omega, GuidanceHRef::zeta, and GuidanceHRef::zeta_omega.
Referenced by guidance_h_SetZeta().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | extern | 
Definition at line 170 of file guidance_h_ref.c.
References GuidanceHRef::accel, GuidanceHRef::dt, foo, GH_POS_REF_FRAC, gh_ref, gh_saturate_accel(), LBFP_OF_REAL, GuidanceHRef::pos, GuidanceHRef::speed, VECT2_ADD, VECT2_COPY, VECT2_SMUL, and Int64Vect2::x.
Referenced by guidance_h_update_reference().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | extern | 
Definition at line 105 of file guidance_h_ref.c.
References GuidanceHRef::accel, GuidanceHRef::dt, foo, GH_POS_REF_FRAC, gh_ref, gh_saturate_accel(), gh_saturate_speed(), INT32_POS_FRAC, LBFP_OF_REAL, GuidanceHRef::omega, GuidanceHRef::pos, POS_FLOAT_OF_BFP, GuidanceHRef::speed, VECT2_ADD, VECT2_COPY, VECT2_DIFF, VECT2_SMUL, FloatVect2::x, Int64Vect2::x, Int64Vect2::y, GuidanceHRef::zeta, and GuidanceHRef::zeta_omega.
Referenced by guidance_h_update_reference().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | extern | 
Definition at line 143 of file guidance_h_ref.c.
References GuidanceHRef::accel, GuidanceHRef::dt, foo, GH_POS_REF_FRAC, gh_ref, gh_saturate_accel(), GuidanceHRef::inv_tau, LBFP_OF_REAL, GuidanceHRef::pos, GuidanceHRef::speed, speed_sp, VECT2_ADD, VECT2_COPY, VECT2_DIFF, VECT2_SMUL, and Int64Vect2::x.
Referenced by guidance_h_update_reference().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | extern | 
Current maximum speed for waypoint navigation.
Defaults to GUIDANCE_H_REF_MAX_SPEED
| 
 | extern | 
Definition at line 30 of file guidance_h_ref.c.
Referenced by gh_ref_init(), gh_saturate_speed(), gh_set_max_speed(), gh_set_omega(), gh_set_ref(), gh_set_tau(), gh_set_zeta(), gh_update_ref_from_accel_sp(), gh_update_ref_from_pos_sp(), gh_update_ref_from_speed_sp(), and guidance_h_update_reference().