mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-20 11:28:58 +08:00
37a86bb389
This PR allows to redefine the outer-loop for stabilization and guidance, and to specify the guidance model for something else than a quarotor (but still not an hybrid). Two use case are proposed: - replace the PD control of the outer-loop (still used by default) by and Hinfinity controller - parametrize the guidance for an hexa-copter with tilted motors, allowing to produce side force for lateral motion control.
94 lines
2.6 KiB
C
94 lines
2.6 KiB
C
#ifndef AIRFRAME_H
|
|
#define AIRFRAME_H
|
|
|
|
#define AIRFRAME_NAME "DUMMY"
|
|
#define AC_ID 42
|
|
|
|
// basic plane
|
|
#define COMMAND_THROTTLE 0
|
|
#define COMMAND_ROLL 1
|
|
#define COMMAND_PITCH 2
|
|
#define COMMANDS_NB 3
|
|
#define COMMANDS_FAILSAFE {0,0,0}
|
|
|
|
// basic rotorcraft
|
|
//#define COMMAND_PITCH 0
|
|
//#define COMMAND_ROLL 1
|
|
#define COMMAND_YAW 2
|
|
#define COMMAND_THRUST 3
|
|
|
|
// extra commands
|
|
#define COMMAND_FLAPS 4
|
|
|
|
#define SetCommandsFromRC(_commands_array, _rc_array) { }
|
|
#define AllActuatorsInit() { }
|
|
#define AllActuatorsCommit() { }
|
|
#define SetActuatorsFromCommands(values, AP_MODE) { }
|
|
|
|
#define KILL_MODE_DISTANCE (1.5*MAX_DIST_FROM_HOME)
|
|
#define DEFAULT_CIRCLE_RADIUS 80.
|
|
#define NOMINAL_AIRSPEED 12.
|
|
#define CARROT 5.
|
|
|
|
#define V_CTL_AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE 0.4
|
|
|
|
#define SECTION_FAILSAFE 1
|
|
#define FAILSAFE_DELAY_WITHOUT_GPS 2
|
|
#define FAILSAFE_DEFAULT_THROTTLE 0.3
|
|
#define FAILSAFE_DEFAULT_ROLL 0.3
|
|
#define FAILSAFE_DEFAULT_PITCH 0.
|
|
#define FAILSAFE_HOME_RADIUS 100
|
|
|
|
#define SECTION_IMU 1
|
|
#define IMU_BODY_TO_IMU_PHI 0.
|
|
#define IMU_BODY_TO_IMU_THETA 0.
|
|
#define IMU_BODY_TO_IMU_PSI 0
|
|
|
|
|
|
#define SECTION_INS 1
|
|
#define INS_H_X 0.3892503
|
|
#define INS_H_Y 0.0017972
|
|
#define INS_H_Z 0.9211303
|
|
#define INS_USE_GPS_ALT 1
|
|
#define INS_SONAR_MIN_RANGE 0.0
|
|
#define INS_SONAR_MAX_RANGE 3.5
|
|
#define INS_SONAR_UPDATE_ON_AGL TRUE
|
|
#define INS_ROLL_NEUTRAL_DEFAULT 0.
|
|
#define INS_PITCH_NEUTRAL_DEFAULT 0.
|
|
|
|
#define SECTION_STABILIZATION_ATTITUDE 1
|
|
#define STABILIZATION_ATTITUDE_SP_MAX_PHI 0.7853981625
|
|
#define STABILIZATION_ATTITUDE_SP_MAX_THETA 0.7853981625
|
|
#define STABILIZATION_ATTITUDE_SP_MAX_R 1.04719755
|
|
#define STABILIZATION_ATTITUDE_DEADBAND_R 250
|
|
|
|
#define SECTION_STABILIZATION_ATTITUDE_INDI_HINF 1
|
|
#define STABILIZATION_INDI_HINF_Ap 1.
|
|
#define STABILIZATION_INDI_HINF_Bp 0.03518
|
|
#define STABILIZATION_INDI_HINF_Cp 0.0191
|
|
#define STABILIZATION_INDI_HINF_Dp 7.643
|
|
#define STABILIZATION_INDI_HINF_Ad 0.9013
|
|
#define STABILIZATION_INDI_HINF_Bd -0.02509
|
|
#define STABILIZATION_INDI_HINF_Cd 91.15
|
|
#define STABILIZATION_INDI_HINF_Dd 44.57
|
|
|
|
#define SECTION_GUIDANCE_INDI_HINF 1
|
|
#define GUIDANCE_INDI_HINF_Ap 0.9985
|
|
#define GUIDANCE_INDI_HINF_Bp 0.04362
|
|
#define GUIDANCE_INDI_HINF_Cp 0.009739
|
|
#define GUIDANCE_INDI_HINF_Dp 0.5602
|
|
#define GUIDANCE_INDI_HINF_Ad 1
|
|
#define GUIDANCE_INDI_HINF_Bd -0.01418
|
|
#define GUIDANCE_INDI_HINF_Cd -0.2814
|
|
#define GUIDANCE_INDI_HINF_Dd 2.397
|
|
#define GUIDANCE_INDI_HINF_Apz 0.9987
|
|
#define GUIDANCE_INDI_HINF_Bpz -0.0003935
|
|
#define GUIDANCE_INDI_HINF_Cpz -1.052
|
|
#define GUIDANCE_INDI_HINF_Dpz 1.084
|
|
#define GUIDANCE_INDI_HINF_Adz 1
|
|
#define GUIDANCE_INDI_HINF_Bdz 0.003449
|
|
#define GUIDANCE_INDI_HINF_Cdz 1.548
|
|
#define GUIDANCE_INDI_HINF_Ddz 3.357
|
|
|
|
#endif // AIRFRAME_H
|