![]() |
Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
Guidance controller for planes with PID compatible with the rotorcraft firmware no airspeed control. More...
#include "firmwares/rotorcraft/guidance/guidance_plane.h"
#include "firmwares/rotorcraft/navigation.h"
#include "firmwares/rotorcraft/guidance.h"
#include "firmwares/rotorcraft/stabilization.h"
#include "generated/airframe.h"
#include "generated/flight_plan.h"
#include "modules/nav/waypoints.h"
#include "state.h"
#include "modules/datalink/telemetry.h"
Go to the source code of this file.
Functions | |
void | guidance_plane_init (void) |
struct StabilizationSetpoint | guidance_plane_attitude_from_nav (bool in_flight UNUSED) |
run horizontal control loop for position and speed control | |
static void | guidance_plane_set_pitch (bool in_flight) |
static void | guidance_plane_set_throttle (bool in_flight) |
struct ThrustSetpoint | guidance_plane_thrust_from_nav (bool in_flight) |
run vertical control loop for position and speed control | |
void | guidance_plane_enter (void) |
Variables | |
struct GuidancePlane | guidance_plane |
Guidance PID structyre. | |
static float | pitch_sum_err |
static float | throttle_sum_err |
Guidance controller for planes with PID compatible with the rotorcraft firmware no airspeed control.
Definition in file guidance_plane.c.
Definition at line 50 of file guidance_plane.c.
Definition at line 66 of file guidance_plane.c.
Definition at line 38 of file guidance_plane.c.
Definition at line 54 of file guidance_plane.c.
Definition at line 42 of file guidance_plane.c.
Definition at line 46 of file guidance_plane.c.
Definition at line 80 of file guidance_plane.c.
Definition at line 58 of file guidance_plane.c.
Definition at line 62 of file guidance_plane.c.
#define GUIDANCE_PLANE_THROTTLE_MAX_SUM_ERR 0.4 |
Definition at line 83 of file guidance_plane.c.
struct StabilizationSetpoint guidance_plane_attitude_from_nav | ( | bool in_flight | UNUSED | ) |
run horizontal control loop for position and speed control
Definition at line 128 of file guidance_plane.c.
References RotorcraftNavigation::carrot, GuidancePlane::course_kd, GuidancePlane::course_kp, GuidancePlane::course_setpoint, float_eulers_of_quat(), foo, guidance_h, guidance_plane, RotorcraftNavigation::horizontal_mode, nav, NAV_HORIZONTAL_MODE_ATTITUDE, NAV_HORIZONTAL_MODE_GUIDED, NAV_HORIZONTAL_MODE_NONE, NAV_SETPOINT_MODE_ACCEL, NAV_SETPOINT_MODE_POS, NAV_SETPOINT_MODE_QUAT, NAV_SETPOINT_MODE_SPEED, FloatEulers::phi, RotorcraftNavigation::pitch, GuidancePlane::pitch_cmd, HorizontalGuidanceSetpoint::pos, POS_BFP_OF_REAL, FloatEulers::psi, RotorcraftNavigation::quat, RotorcraftNavigation::roll, GuidancePlane::roll_cmd, GuidancePlane::roll_max_setpoint, RotorcraftNavigation::setpoint_mode, HorizontalGuidance::sp, RotorcraftNavigation::speed, stab_sp_from_eulers_f(), stateGetHorizontalSpeedDir_f(), stateGetNedToBodyEulers_f(), stateGetPositionEnu_f(), stateGetPositionNed_f(), FloatEulers::theta, waypoint_get_x(), waypoint_get_y(), Int32Vect2::x, EnuCoor_f::x, Int32Vect2::y, and EnuCoor_f::y.
Referenced by control_mixing_heewing_nav_run().
Definition at line 276 of file guidance_plane.c.
References pitch_sum_err, and throttle_sum_err.
Definition at line 90 of file guidance_plane.c.
References GuidancePlane::altitude_setpoint, GuidancePlane::climb_kp, GuidancePlane::climb_max_setpoint, GuidancePlane::climb_setpoint, GuidancePlane::climb_throttle_increment, GuidancePlane::course_kd, GuidancePlane::course_kp, GuidancePlane::course_pre_bank_correction, GuidancePlane::course_setpoint, GuidancePlane::cruise_throttle, foo, GUIDANCE_PLANCE_COURSE_PRE_BANK, guidance_plane, GUIDANCE_PLANE_CLIMB_THROTTLE_INCREMENT, GUIDANCE_PLANE_MAX_BANK, GUIDANCE_PLANE_MAX_CLIMB, GUIDANCE_PLANE_MAX_PITCH, GUIDANCE_PLANE_MIN_PITCH, GUIDANCE_PLANE_PITCH_OF_VZ, GUIDANCE_PLANE_PITCH_TRIM, GuidancePlane::p_kd, GuidancePlane::p_ki, GuidancePlane::p_kp, GuidancePlane::pitch_cmd, GuidancePlane::pitch_max_setpoint, GuidancePlane::pitch_min_setpoint, GuidancePlane::pitch_of_vz, pitch_sum_err, GuidancePlane::pitch_trim, GuidancePlane::roll_cmd, GuidancePlane::roll_max_setpoint, GuidancePlane::t_kd, GuidancePlane::t_ki, GuidancePlane::t_kp, GuidancePlane::throttle_cmd, and throttle_sum_err.
Definition at line 193 of file guidance_plane.c.
References GuidancePlane::climb_setpoint, foo, guidance_plane, GUIDANCE_PLANE_PITCH_MAX_SUM_ERR, nav, GuidancePlane::p_kd, GuidancePlane::p_ki, GuidancePlane::p_kp, RotorcraftNavigation::pitch, GuidancePlane::pitch_cmd, GuidancePlane::pitch_of_vz, pitch_sum_err, GuidancePlane::pitch_trim, stateGetSpeedEnu_f(), and EnuCoor_f::z.
Referenced by guidance_plane_thrust_from_nav().
Definition at line 221 of file guidance_plane.c.
References GuidancePlane::climb_setpoint, GuidancePlane::climb_throttle_increment, GuidancePlane::cruise_throttle, foo, guidance_plane, GUIDANCE_PLANE_THROTTLE_MAX_SUM_ERR, MAX_PPRZ, stateGetSpeedEnu_f(), GuidancePlane::t_kd, GuidancePlane::t_ki, GuidancePlane::t_kp, GuidancePlane::throttle_cmd, throttle_sum_err, TRIM_UPPRZ, and EnuCoor_f::z.
Referenced by guidance_plane_thrust_from_nav().
struct ThrustSetpoint guidance_plane_thrust_from_nav | ( | bool | in_flight | ) |
run vertical control loop for position and speed control
Definition at line 253 of file guidance_plane.c.
References GuidancePlane::altitude_setpoint, RotorcraftNavigation::climb, GuidancePlane::climb_kp, GuidancePlane::climb_max_setpoint, GuidancePlane::climb_setpoint, foo, guidance_plane, guidance_plane_set_pitch(), guidance_plane_set_throttle(), nav, RotorcraftNavigation::nav_altitude, NAV_VERTICAL_MODE_ALT, NAV_VERTICAL_MODE_CLIMB, NAV_VERTICAL_MODE_MANUAL, stateGetPositionEnu_f(), th_sp_from_thrust_i(), RotorcraftNavigation::throttle, GuidancePlane::throttle_cmd, THRUST_AXIS_X, RotorcraftNavigation::vertical_mode, and EnuCoor_f::z.
Referenced by control_mixing_heewing_nav_run().
struct GuidancePlane guidance_plane |
Guidance PID structyre.
Definition at line 73 of file guidance_plane.c.
Referenced by control_mixing_heewing_nav_run(), guidance_plane_attitude_from_nav(), guidance_plane_init(), guidance_plane_set_pitch(), guidance_plane_set_throttle(), and guidance_plane_thrust_from_nav().
|
static |
Definition at line 79 of file guidance_plane.c.
Referenced by guidance_plane_enter(), guidance_plane_init(), and guidance_plane_set_pitch().
|
static |
Definition at line 82 of file guidance_plane.c.
Referenced by guidance_plane_enter(), guidance_plane_init(), and guidance_plane_set_throttle().