mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-07-24 15:27:41 +08:00
feat(sim): add X-Plane SITL airframes (#22493)
This commit is contained in:
280
ROMFS/px4fmu_common/init.d-posix/airframes/5001_xplane_cessna172
Normal file
280
ROMFS/px4fmu_common/init.d-posix/airframes/5001_xplane_cessna172
Normal file
@@ -0,0 +1,280 @@
|
||||
#!/bin/sh
|
||||
################################################################################
|
||||
# PX4 SITL Configuration for Cessna 172 Skyhawk in X-Plane
|
||||
################################################################################
|
||||
#
|
||||
# Airframe: Cessna 172 Skyhawk
|
||||
# Type: Fixed-wing, tricycle landing gear
|
||||
# Configuration: 1 propeller motor + ailerons + elevator + rudder + nosewheel
|
||||
# Compatible Sim: X-Plane 11/12
|
||||
#
|
||||
# AIRCRAFT REFERENCE VALUES:
|
||||
# - MTOW: 2,550 lb / 1,157 kg
|
||||
# - Wingspan: 36 ft 1 in / 11.0 m
|
||||
# - Cruise speed: about 124 ktas / 64 m/s
|
||||
# - Stall speed: about 48 kcas / 25 m/s
|
||||
# - Best-rate climb speed: about 74 kias / 38 m/s
|
||||
# - Sea-level max climb: about 730 ft/min / 3.7 m/s
|
||||
# - Engine: Lycoming IO-360-L2A, 180 hp
|
||||
#
|
||||
# The defaults are tuned for the packaged X-Plane model and runway-mission
|
||||
# SITL validation.
|
||||
#
|
||||
# USAGE:
|
||||
# make px4_sitl_default xplane_cessna172
|
||||
#
|
||||
# @name Cessna 172 Skyhawk X-Plane SITL
|
||||
# @type Standard Plane
|
||||
# @class Plane
|
||||
# @maintainer Alireza Ghaderi <p30planets@gmail.com>
|
||||
# @url https://github.com/alireza787b/px4xplane/
|
||||
. ${R}etc/init.d/rc.fw_defaults
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 1: CONTROL ALLOCATION - FIXED-WING CONFIGURATION
|
||||
################################################################################
|
||||
|
||||
param set-default CA_ROTOR_COUNT 1
|
||||
|
||||
# Propeller motor.
|
||||
param set-default CA_ROTOR0_PX 1.2
|
||||
param set-default CA_ROTOR0_AX 1.0
|
||||
param set-default CA_ROTOR0_AZ 0.0
|
||||
param set-default CA_R0_SLEW 2.0
|
||||
|
||||
# Control surfaces: left aileron, right aileron, elevator, rudder,
|
||||
# left flap, right flap.
|
||||
param set-default CA_SV_CS0_TRQ_R -0.5
|
||||
param set-default CA_SV_CS0_TYPE 1
|
||||
param set-default CA_SV_CS1_TRQ_R 0.5
|
||||
param set-default CA_SV_CS1_TYPE 2
|
||||
param set-default CA_SV_CS2_TRQ_P 1.0
|
||||
param set-default CA_SV_CS2_TYPE 3
|
||||
param set-default CA_SV_CS3_TRQ_Y 1.0
|
||||
param set-default CA_SV_CS3_TYPE 4
|
||||
param set-default CA_SV_CS4_TYPE 9
|
||||
param set-default CA_SV_CS4_FLAP 1.0
|
||||
param set-default CA_SV_CS5_TYPE 10
|
||||
param set-default CA_SV_CS5_FLAP 1.0
|
||||
param set-default CA_SV_CS_COUNT 6
|
||||
param set-default CA_SV_FLAP_SLEW 0.08
|
||||
|
||||
# PWM output mapping matched to config.ini Cessna172 channels.
|
||||
# Output 6 uses PX4's Landing_Gear_Wheel output function for runway steering.
|
||||
# Outputs 7/8 drive left/right landing flaps.
|
||||
param set-default PWM_MAIN_FUNC1 201
|
||||
param set-default PWM_MAIN_FUNC2 202
|
||||
param set-default PWM_MAIN_FUNC3 203
|
||||
param set-default PWM_MAIN_FUNC4 101
|
||||
param set-default PWM_MAIN_FUNC5 204
|
||||
param set-default PWM_MAIN_FUNC6 440
|
||||
param set-default PWM_MAIN_FUNC7 205
|
||||
param set-default PWM_MAIN_FUNC8 206
|
||||
param set-default PWM_MAIN_REV 7
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 2: BRIDGE / SIMULATOR SENSOR CONTRACT
|
||||
################################################################################
|
||||
|
||||
# Simulator sensors.
|
||||
param set-default SENS_EN_GPSSIM 1
|
||||
param set-default SENS_EN_BAROSIM 1
|
||||
param set-default SENS_EN_ARSPDSIM 1
|
||||
param set-default SENS_EN_MAGSIM 1
|
||||
|
||||
# Barometer priority. PX4 simulator_mavlink publishes two simulated baro uORB
|
||||
# instances from one HIL_SENSOR stream; disable the duplicate as a fusion source.
|
||||
param set-default CAL_BARO0_ID 6620172
|
||||
param set-default CAL_BARO0_PRIO 100
|
||||
param set-default CAL_BARO1_ID 6620428
|
||||
param set-default CAL_BARO1_PRIO 0
|
||||
|
||||
# Use neutral simulated accelerometer offsets. The px4xplane bridge publishes
|
||||
# attitude-consistent HIL accelerometer data, so model-specific calibration
|
||||
# offsets would corrupt sensor_combined and can trip EKF2 bias checks.
|
||||
param set-default CAL_ACC0_PRIO 50
|
||||
param set-default CAL_ACC0_XOFF 0.0
|
||||
param set-default CAL_ACC0_YOFF 0.0
|
||||
param set-default CAL_ACC0_ZOFF 0.0
|
||||
|
||||
# EKF2 core settings aligned with the current px4xplane sensor contract.
|
||||
param set-default EKF2_MULTI_IMU 1
|
||||
param set-default SENS_IMU_MODE 0
|
||||
param set-default EKF2_ABL_LIM 0.8
|
||||
param set-default EKF2_ABL_ACCLIM 35.0
|
||||
param set-default EKF2_ACC_NOISE 1.0
|
||||
param set-default EKF2_ACC_B_NOISE 0.001
|
||||
|
||||
# Height and horizontal aiding.
|
||||
param set-default EKF2_BARO_NOISE 1.0
|
||||
param set-default EKF2_BARO_GATE 10.0
|
||||
param set-default SENS_GPS0_DELAY 10
|
||||
param set-default SENS_GPS1_DELAY 10
|
||||
# Runway roll is intentional motion while the fixed-wing land detector can still
|
||||
# report landed/at-rest. Keep normal GNSS quality checks, but do not reject a
|
||||
# valid simulator GNSS source on stationary-only horizontal drift checks.
|
||||
param set-default EKF2_GPS_CHECK 1887
|
||||
param set-default EKF2_GPS_P_NOISE 2.5
|
||||
param set-default EKF2_GPS_V_NOISE 0.30
|
||||
param set-default EKF2_GPS_P_GATE 8.0
|
||||
|
||||
# Magnetometer and airspeed aiding.
|
||||
param set-default EKF2_MAG_TYPE 1
|
||||
param set-default EKF2_MAG_DELAY 1.0
|
||||
param set-default EKF2_MAG_GATE 5.0
|
||||
param set-default EKF2_SYNT_MAG_Z 1
|
||||
param set-default EKF2_ASP_DELAY 0.0
|
||||
param set-default EKF2_ARSP_THR 10.0
|
||||
param set-default EKF2_GSF_TAS 50.0
|
||||
param set-default EKF2_AVEL_DELAY 0.0
|
||||
param set-default EKF2_WIND_NSD 0.01
|
||||
|
||||
# The bridge target sensor rate is 200 Hz. Actual send cadence is still bounded
|
||||
# by X-Plane frame callbacks, but matching the PX4 rate cap avoids stale 100 Hz
|
||||
# assumptions in the airframe defaults.
|
||||
param set-default IMU_GYRO_RATEMAX 200
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 3: FIXED-WING ATTITUDE / RATE CONTROL
|
||||
################################################################################
|
||||
|
||||
# Roll authority is kept high enough for path capture while avoiding the
|
||||
# control-surface saturation seen with more aggressive feed-forward settings.
|
||||
param set-default FW_RR_P 0.42
|
||||
param set-default FW_RR_I 0.11
|
||||
param set-default FW_RR_D 0.08
|
||||
param set-default FW_RR_FF 3.2
|
||||
param set-default FW_R_RMAX 8.0
|
||||
param set-default FW_R_TC 1.5
|
||||
param set-default FW_R_LIM 15.0
|
||||
|
||||
# Pitch.
|
||||
param set-default FW_PR_P 0.365
|
||||
param set-default FW_PR_I 0.045
|
||||
param set-default FW_PR_D 0.355
|
||||
param set-default FW_PR_FF 3.4
|
||||
param set-default FW_P_LIM_MAX 20.0
|
||||
param set-default FW_P_LIM_MIN 0.0
|
||||
param set-default FW_P_TC 0.55
|
||||
param set-default FW_PN_R_SLEW_MAX 10.0
|
||||
|
||||
# Ground steering during runway takeoff/landing.
|
||||
param set-default FW_W_EN 1
|
||||
param set-default FW_WR_P 0.8
|
||||
param set-default FW_WR_I 0.12
|
||||
param set-default FW_WR_FF 0.35
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 4: AIRSPEED AND TECS
|
||||
################################################################################
|
||||
|
||||
param set-default FW_AIRSPD_MIN 28.0
|
||||
param set-default FW_AIRSPD_MAX 65.0
|
||||
param set-default FW_AIRSPD_TRIM 40.0
|
||||
param set-default FW_AIRSPD_STALL 25.0
|
||||
param set-default FW_AIRSPD_FLP_SC 0.85
|
||||
# X-Plane provides the pitot through the simulator stream, not a physical driver.
|
||||
# Keep the missing-data check and avoid false innovation/stuck-data failures
|
||||
# during accelerated SITL ground roll and landing flare.
|
||||
param set-default ASPD_DO_CHECKS 1
|
||||
param set-default ASPD_FALLBACK 1
|
||||
param set-default SYS_HAS_NUM_ASPD 0
|
||||
|
||||
# Cessna 172 sea-level climb capability is about 3.7 m/s at max gross weight.
|
||||
param set-default FW_T_ALT_TC 8.0
|
||||
param set-default FW_T_RLL2THR 11.0
|
||||
param set-default FW_T_STE_R_TC 2.0
|
||||
param set-default FW_T_HRATE_FF 0.3
|
||||
param set-default FW_T_SPDWEIGHT 0.20
|
||||
param set-default FW_T_CLMB_MAX 3.7
|
||||
param set-default FW_T_SINK_MIN 1.0
|
||||
param set-default FW_T_SINK_MAX 2.5
|
||||
param set-default FW_T_VERT_ACC 1.8
|
||||
param set-default FW_T_THR_DAMPING 0.25
|
||||
param set-default FW_T_PTCH_DAMP 0.20
|
||||
param set-default FW_T_I_GAIN_PIT 0.22
|
||||
param set-default FW_T_SINK_R_SP 1.2
|
||||
|
||||
param set-default FW_THR_TRIM 0.60
|
||||
param set-default FW_THR_MIN 0.10
|
||||
param set-default FW_THR_SLEW_MAX 0.25
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 5: RUNWAY TAKEOFF AND AUTO LANDING BASELINE
|
||||
################################################################################
|
||||
|
||||
# Runway takeoff. Keep pitch below the previous 20 deg value to avoid an
|
||||
# unrealistic rotation and early climb oscillation on a C172-size aircraft.
|
||||
param set-default RWTO_TKOFF 1
|
||||
param set-default RWTO_RAMP_TIME 3.0
|
||||
param set-default RWTO_ROT_AIRSPD 32.0
|
||||
param set-default RWTO_ROT_TIME 2.0
|
||||
param set-default FW_TKO_AIRSPD 40.0
|
||||
param set-default FW_TKO_PITCH_MIN 10.0
|
||||
param set-default FW_FLAPS_TO_SCL 0.33
|
||||
param set-default MIS_TAKEOFF_ALT 150.0
|
||||
|
||||
# Auto landing. Use landing flaps and early landing configuration so the
|
||||
# aircraft stabilizes before approach. Disable touchdown-time clamping because
|
||||
# the C172 flare timing varies with X-Plane runway geometry and wind.
|
||||
param set-default FW_LND_ABORT 0
|
||||
param set-default FW_LND_AIRSPD 32.5
|
||||
param set-default FW_LND_EARLYCFG 1
|
||||
param set-default FW_LND_FLALT 8.0
|
||||
param set-default FW_LND_FL_TIME 4.0
|
||||
param set-default FW_LND_FL_PMIN 9.0
|
||||
param set-default FW_LND_FL_PMAX 20.0
|
||||
param set-default FW_LND_FL_SINK 0.30
|
||||
param set-default FW_LND_THRTC_SC 0.8
|
||||
param set-default FW_FLAPS_LND_SCL 0.85
|
||||
param set-default LNDFW_AIRSPD_MAX 30.0
|
||||
param set-default LNDFW_VEL_XY_MAX 10.0
|
||||
param set-default LNDFW_VEL_Z_MAX 1.5
|
||||
param set-default LNDFW_TRIG_TIME 1.0
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 6: NPFG GUIDANCE AND MISSION DEFAULTS
|
||||
################################################################################
|
||||
|
||||
param set-default NPFG_PERIOD 55.0
|
||||
param set-default NPFG_DAMPING 0.8
|
||||
param set-default NPFG_ROLL_TC 1.4
|
||||
param set-default NPFG_SW_DST_MLT 0.8
|
||||
|
||||
param set-default MIS_YAW_ERR 30.0
|
||||
param set-default MIS_YAW_TMT 5.0
|
||||
param set-default MIS_TKO_LAND_REQ 0
|
||||
param set-default MIS_DIST_1WP 5000.0
|
||||
|
||||
param set-default NAV_ACC_RAD 180.0
|
||||
param set-default NAV_FW_ALT_RAD 40.0
|
||||
param set-default NAV_LOITER_RAD 600.0
|
||||
|
||||
param set-default RTL_RETURN_ALT 120.0
|
||||
param set-default RTL_DESCEND_ALT 80.0
|
||||
param set-default RTL_MIN_DIST 50.0
|
||||
param set-default RTL_LOITER_RAD 600.0
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 7: AIRCRAFT GEOMETRY, MASS, AND SYSTEM DEFAULTS
|
||||
################################################################################
|
||||
|
||||
param set-default FW_WING_SPAN 11.0
|
||||
param set-default FW_WING_HEIGHT 3.0
|
||||
param set-default WEIGHT_BASE 1157.0
|
||||
param set-default WEIGHT_GROSS 1157.0
|
||||
|
||||
# SITL-only circuit breakers.
|
||||
param set-default CBRK_SUPPLY_CHK 894281
|
||||
|
||||
|
||||
################################################################################
|
||||
# END OF CONFIGURATION
|
||||
################################################################################
|
||||
273
ROMFS/px4fmu_common/init.d-posix/airframes/5002_xplane_tb2
Normal file
273
ROMFS/px4fmu_common/init.d-posix/airframes/5002_xplane_tb2
Normal file
@@ -0,0 +1,273 @@
|
||||
#!/bin/sh
|
||||
################################################################################
|
||||
# PX4 SITL Configuration for Bayraktar TB2-Style UAV in X-Plane
|
||||
################################################################################
|
||||
#
|
||||
# Airframe: Bayraktar TB2-style MALE UAV
|
||||
# Type: Fixed-wing, tricycle landing gear, inverted A-tail
|
||||
# Configuration: 1 propeller motor + ailerons + A-tail + nosewheel + flaps
|
||||
# Compatible Sim: X-Plane 11/12
|
||||
#
|
||||
# AIRCRAFT REFERENCE VALUES:
|
||||
# - Baykar official data: 12 m wingspan, 6.5 m length, 2.2 m height,
|
||||
# 700 kg MTOW, 100 hp engine, 70 kt cruise class, 90-110 KTAS travel/max.
|
||||
# - Uploaded X-Plane model: about 10.8 m modeled main-wing span and about
|
||||
# 418 kg empty-plus-full-fuel loaded mass from the ACF weight fields.
|
||||
#
|
||||
# The defaults match the tested X-Plane model mass and geometry while keeping
|
||||
# published TB2 performance values as reference bounds.
|
||||
#
|
||||
# USAGE:
|
||||
# make px4_sitl_default xplane_tb2
|
||||
#
|
||||
# @name Bayraktar TB2 X-Plane SITL
|
||||
# @type Plane A-Tail
|
||||
# @class Plane
|
||||
# @maintainer Alireza Ghaderi <p30planets@gmail.com>
|
||||
# @url https://github.com/alireza787b/px4xplane/
|
||||
. ${R}etc/init.d/rc.fw_defaults
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 1: CONTROL ALLOCATION - FIXED-WING A-TAIL CONFIGURATION
|
||||
################################################################################
|
||||
|
||||
param set-default CA_ROTOR_COUNT 1
|
||||
|
||||
# Propeller motor.
|
||||
param set-default CA_ROTOR0_PX 1.2
|
||||
param set-default CA_ROTOR0_AX 1.0
|
||||
param set-default CA_ROTOR0_AZ 0.0
|
||||
param set-default CA_R0_SLEW 2.0
|
||||
|
||||
# Control surfaces: left aileron, right aileron, left A-tail, right A-tail,
|
||||
# left flap, right flap. Nosewheel steering is handled by PX4's
|
||||
# Landing_Gear_Wheel output function rather than as a generic servo surface.
|
||||
param set-default CA_SV_CS0_TRQ_R -0.5
|
||||
param set-default CA_SV_CS0_TYPE 1
|
||||
param set-default CA_SV_CS1_TRQ_R 0.5
|
||||
param set-default CA_SV_CS1_TYPE 2
|
||||
param set-default CA_SV_CS2_TRQ_P 0.5
|
||||
param set-default CA_SV_CS2_TRQ_Y -0.5
|
||||
param set-default CA_SV_CS2_TYPE 13
|
||||
param set-default CA_SV_CS3_TRQ_P 0.5
|
||||
param set-default CA_SV_CS3_TRQ_Y 0.5
|
||||
param set-default CA_SV_CS3_TYPE 14
|
||||
param set-default CA_SV_CS4_TYPE 9
|
||||
param set-default CA_SV_CS4_FLAP 1.0
|
||||
param set-default CA_SV_CS5_TYPE 10
|
||||
param set-default CA_SV_CS5_FLAP 1.0
|
||||
param set-default CA_SV_CS_COUNT 6
|
||||
|
||||
# PWM output mapping matched to config.ini TB2 channels.
|
||||
param set-default PWM_MAIN_FUNC1 201
|
||||
param set-default PWM_MAIN_FUNC2 202
|
||||
param set-default PWM_MAIN_FUNC3 203
|
||||
param set-default PWM_MAIN_FUNC4 204
|
||||
param set-default PWM_MAIN_FUNC5 101
|
||||
param set-default PWM_MAIN_FUNC6 440
|
||||
param set-default PWM_MAIN_FUNC7 205
|
||||
param set-default PWM_MAIN_FUNC8 206
|
||||
param set-default PWM_MAIN_REV 15
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 2: BRIDGE / SIMULATOR SENSOR CONTRACT
|
||||
################################################################################
|
||||
|
||||
param set-default SENS_EN_GPSSIM 1
|
||||
param set-default SENS_EN_BAROSIM 1
|
||||
param set-default SENS_EN_ARSPDSIM 1
|
||||
param set-default SENS_EN_MAGSIM 1
|
||||
|
||||
# PX4 simulator_mavlink can expose duplicate simulated barometer instances from
|
||||
# one HIL_SENSOR stream. Keep a single fusion source to avoid source switching.
|
||||
param set-default CAL_BARO0_ID 6620172
|
||||
param set-default CAL_BARO0_PRIO 100
|
||||
param set-default CAL_BARO1_ID 6620428
|
||||
param set-default CAL_BARO1_PRIO 0
|
||||
|
||||
# Use neutral simulated accelerometer offsets. The px4xplane bridge publishes
|
||||
# attitude-consistent HIL accelerometer data, so model-specific calibration
|
||||
# offsets would corrupt sensor_combined and can trip EKF2 bias checks.
|
||||
param set-default CAL_ACC0_PRIO 50
|
||||
param set-default CAL_ACC0_XOFF 0.0
|
||||
param set-default CAL_ACC0_YOFF 0.0
|
||||
param set-default CAL_ACC0_ZOFF 0.0
|
||||
|
||||
param set-default EKF2_MULTI_IMU 1
|
||||
param set-default SENS_IMU_MODE 0
|
||||
param set-default EKF2_ABL_LIM 0.8
|
||||
param set-default EKF2_ABL_ACCLIM 35.0
|
||||
param set-default EKF2_ACC_NOISE 1.0
|
||||
param set-default EKF2_ACC_B_NOISE 0.001
|
||||
|
||||
param set-default EKF2_BARO_NOISE 1.0
|
||||
param set-default EKF2_BARO_GATE 10.0
|
||||
param set-default SENS_GPS0_DELAY 10
|
||||
param set-default SENS_GPS1_DELAY 10
|
||||
# Runway roll is intentional motion while the fixed-wing land detector can still
|
||||
# report landed/at-rest. Keep normal GNSS quality checks, but do not reject a
|
||||
# valid simulator GNSS source on stationary-only horizontal drift checks.
|
||||
param set-default EKF2_GPS_CHECK 1887
|
||||
param set-default EKF2_GPS_P_NOISE 2.5
|
||||
param set-default EKF2_GPS_V_NOISE 0.30
|
||||
param set-default EKF2_GPS_P_GATE 8.0
|
||||
|
||||
param set-default EKF2_MAG_TYPE 1
|
||||
param set-default EKF2_MAG_DELAY 1.0
|
||||
param set-default EKF2_MAG_GATE 5.0
|
||||
param set-default EKF2_SYNT_MAG_Z 1
|
||||
param set-default EKF2_ASP_DELAY 0.0
|
||||
param set-default EKF2_ARSP_THR 10.0
|
||||
param set-default EKF2_GSF_TAS 36.0
|
||||
param set-default EKF2_AVEL_DELAY 0.0
|
||||
param set-default EKF2_WIND_NSD 0.01
|
||||
|
||||
param set-default IMU_GYRO_RATEMAX 200
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 3: FIXED-WING ATTITUDE / RATE CONTROL
|
||||
################################################################################
|
||||
|
||||
# The old TB2-derived feed-forward values made the Cessna surfaces visibly
|
||||
# step and saturate. Start the TB2 refresh below that old aggressive baseline,
|
||||
# then tune from returned ULog surface/setpoint evidence.
|
||||
param set-default FW_RR_P 0.34
|
||||
param set-default FW_RR_I 0.08
|
||||
param set-default FW_RR_D 0.05
|
||||
param set-default FW_RR_FF 2.4
|
||||
param set-default FW_R_RMAX 18.0
|
||||
param set-default FW_R_TC 1.0
|
||||
param set-default FW_R_LIM 35.0
|
||||
|
||||
param set-default FW_PR_P 0.32
|
||||
param set-default FW_PR_I 0.04
|
||||
param set-default FW_PR_D 0.08
|
||||
param set-default FW_PR_FF 2.4
|
||||
param set-default FW_P_LIM_MAX 18.0
|
||||
param set-default FW_P_LIM_MIN -12.0
|
||||
param set-default FW_P_TC 0.75
|
||||
param set-default FW_PN_R_SLEW_MAX 30.0
|
||||
|
||||
param set-default FW_MAN_P_MAX 35.0
|
||||
|
||||
# Ground steering during runway takeoff/landing.
|
||||
param set-default FW_W_EN 1
|
||||
param set-default FW_WR_P 1.2
|
||||
param set-default FW_WR_I 0.18
|
||||
param set-default FW_WR_IMAX 0.5
|
||||
param set-default FW_WR_FF 0.60
|
||||
param set-default FW_W_RMAX 0.0
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 4: AIRSPEED AND TECS
|
||||
################################################################################
|
||||
|
||||
# Baykar lists 70 kt cruise class and 90-110 KTAS travel/max. The X-Plane model
|
||||
# is lighter than the published 700 kg MTOW, so these values are conservative
|
||||
# SITL targets.
|
||||
param set-default FW_AIRSPD_MIN 24.0
|
||||
param set-default FW_AIRSPD_MAX 56.0
|
||||
param set-default FW_AIRSPD_TRIM 36.0
|
||||
param set-default FW_AIRSPD_STALL 20.0
|
||||
param set-default FW_AIRSPD_FLP_SC 0.85
|
||||
# X-Plane provides the pitot through the simulator stream, not a physical driver.
|
||||
# Keep the missing-data check and avoid false innovation/stuck-data failures
|
||||
# during accelerated SITL ground roll and landing flare.
|
||||
param set-default ASPD_DO_CHECKS 1
|
||||
param set-default ASPD_FALLBACK 1
|
||||
param set-default SYS_HAS_NUM_ASPD 0
|
||||
|
||||
param set-default FW_T_ALT_TC 8.0
|
||||
param set-default FW_T_RLL2THR 6.0
|
||||
param set-default FW_T_STE_R_TC 1.5
|
||||
param set-default FW_T_HRATE_FF 0.15
|
||||
param set-default FW_T_CLMB_MAX 2.5
|
||||
param set-default FW_T_CLMB_R_SP 1.5
|
||||
param set-default FW_T_SINK_MIN 1.0
|
||||
param set-default FW_T_SINK_MAX 2.0
|
||||
param set-default FW_T_SINK_R_SP 1.0
|
||||
param set-default FW_T_VERT_ACC 1.5
|
||||
param set-default FW_T_THR_DAMPING 0.25
|
||||
param set-default FW_T_PTCH_DAMP 0.30
|
||||
param set-default FW_T_I_GAIN_PIT 0.15
|
||||
|
||||
param set-default FW_THR_TRIM 0.32
|
||||
param set-default FW_THR_MIN 0.05
|
||||
param set-default FW_THR_SLEW_MAX 0.30
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 5: RUNWAY TAKEOFF AND AUTO LANDING BASELINE
|
||||
################################################################################
|
||||
|
||||
param set-default RWTO_TKOFF 1
|
||||
param set-default RWTO_RAMP_TIME 3.0
|
||||
param set-default RWTO_ROT_AIRSPD 27.0
|
||||
param set-default RWTO_ROT_TIME 2.5
|
||||
param set-default FW_TKO_AIRSPD 32.0
|
||||
param set-default FW_TKO_PITCH_MIN 7.0
|
||||
param set-default MIS_TAKEOFF_ALT 150.0
|
||||
|
||||
param set-default FW_LND_ABORT 0
|
||||
param set-default FW_LND_ANG 3.0
|
||||
param set-default FW_LND_AIRSPD 28.0
|
||||
param set-default FW_LND_EARLYCFG 1
|
||||
param set-default FW_LND_FLALT 10.0
|
||||
param set-default FW_LND_FL_TIME 5.0
|
||||
param set-default FW_LND_FL_PMIN 8.0
|
||||
param set-default FW_LND_FL_PMAX 14.0
|
||||
param set-default FW_LND_FL_SINK 0.35
|
||||
param set-default FW_LND_THRTC_SC 0.7
|
||||
param set-default FW_LND_TD_OFF 4.0
|
||||
param set-default LNDFW_AIRSPD_MAX 12.0
|
||||
param set-default LNDFW_VEL_XY_MAX 6.0
|
||||
param set-default LNDFW_VEL_Z_MAX 1.5
|
||||
param set-default COM_DISARM_LAND 4.0
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 6: NPFG GUIDANCE AND MISSION DEFAULTS
|
||||
################################################################################
|
||||
|
||||
param set-default NPFG_PERIOD 28.0
|
||||
param set-default NPFG_DAMPING 0.8
|
||||
param set-default NPFG_ROLL_TC 0.9
|
||||
param set-default NPFG_SW_DST_MLT 0.8
|
||||
|
||||
param set-default MIS_YAW_ERR 30.0
|
||||
param set-default MIS_YAW_TMT 5.0
|
||||
param set-default MIS_TKO_LAND_REQ 0
|
||||
param set-default MIS_DIST_1WP 5000.0
|
||||
param set-default NAV_ACC_RAD 180.0
|
||||
param set-default NAV_FW_ALT_RAD 25.0
|
||||
param set-default NAV_LOITER_RAD 700.0
|
||||
param set-default RTL_RETURN_ALT 150.0
|
||||
param set-default RTL_DESCEND_ALT 80.0
|
||||
param set-default RTL_MIN_DIST 50.0
|
||||
param set-default RTL_LOITER_RAD 700.0
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 7: AIRCRAFT GEOMETRY AND MASS
|
||||
################################################################################
|
||||
|
||||
param set-default FW_WING_SPAN 10.8
|
||||
param set-default FW_WING_HEIGHT 2.2
|
||||
param set-default WEIGHT_BASE 418.0
|
||||
param set-default WEIGHT_GROSS 418.0
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 8: SITL SYSTEM DEFAULTS
|
||||
################################################################################
|
||||
|
||||
param set-default CBRK_SUPPLY_CHK 894281
|
||||
|
||||
|
||||
################################################################################
|
||||
# END OF CONFIGURATION
|
||||
################################################################################
|
||||
328
ROMFS/px4fmu_common/init.d-posix/airframes/5010_xplane_ehang184
Normal file
328
ROMFS/px4fmu_common/init.d-posix/airframes/5010_xplane_ehang184
Normal file
@@ -0,0 +1,328 @@
|
||||
#!/bin/sh
|
||||
################################################################################
|
||||
# PX4 SITL Configuration for Ehang 184 Airtaxi (Quadcopter) in X-Plane
|
||||
################################################################################
|
||||
#
|
||||
# Aircraft: Ehang 184 Electric Airtaxi
|
||||
# Type: Quadrotor Wide (X configuration)
|
||||
# Compatible Sim: X-Plane 11/12
|
||||
# Rotor Diameter: 5.2m (large manned aircraft)
|
||||
# MTOW: ~600kg (2 passengers + batteries)
|
||||
#
|
||||
# USAGE:
|
||||
# make px4_sitl_default xplane_ehang184
|
||||
#
|
||||
# CONFIGURATION NOTES:
|
||||
# This airframe starts from conservative large-multicopter SITL values focused on:
|
||||
# - Smooth flight and gentle commanded accelerations
|
||||
# - Passenger-scale multicopter margins
|
||||
# - Robust sensor fusion for variable X-Plane FPS
|
||||
#
|
||||
# Key values:
|
||||
# - Barometer noise: 1.0 m to avoid overconfident frame-limited X-Plane fusion
|
||||
# - Innovation gates: 5.0-10.0 to tolerate simulator timing variability
|
||||
# - Navigation radii: 12 m horizontal, 2 m vertical for smooth but useful tracking
|
||||
# - Cruise speed: 6 m/s (~22 km/h)
|
||||
# - Jerk/acceleration limits kept near PX4-valid comfort-oriented minimums
|
||||
#
|
||||
# @name Ehang 184 X-Plane SITL
|
||||
# @type Quadrotor Wide
|
||||
# @class Copter
|
||||
# @maintainer Alireza Ghaderi <p30planets@gmail.com>
|
||||
# @url https://github.com/alireza787b/px4xplane/
|
||||
. ${R}etc/init.d/rc.mc_defaults
|
||||
|
||||
|
||||
################################################################################
|
||||
# CONTROL ALLOCATION - Motor Configuration
|
||||
################################################################################
|
||||
# Quadcopter X configuration with 5.2m diameter rotors
|
||||
#
|
||||
# Motor Layout: Front
|
||||
# ^
|
||||
# 1 0 (CW/CCW)
|
||||
# \ /
|
||||
# \ /
|
||||
# \ /
|
||||
# / \
|
||||
# / \
|
||||
# / \
|
||||
# 2 3
|
||||
#
|
||||
# Motor 0: Front-Right (CCW) - Position: (+1.4, -1.4, 0)m from CG
|
||||
# Motor 1: Front-Left (CW) - Position: (+1.4, +1.4, 0)m from CG
|
||||
# Motor 2: Rear-Left (CCW) - Position: (-1.4, -1.4, 0)m from CG
|
||||
# Motor 3: Rear-Right (CW) - Position: (-1.4, +1.4, 0)m from CG
|
||||
#
|
||||
# Default thrust and moment coefficients are used unless overridden below.
|
||||
|
||||
param set-default CA_ROTOR_COUNT 4
|
||||
|
||||
# Motor 0: Front-Right (CCW)
|
||||
param set-default CA_ROTOR0_PX 1.4
|
||||
param set-default CA_ROTOR0_PY -1.4
|
||||
param set-default CA_ROTOR0_KM -0.05
|
||||
|
||||
# Motor 1: Front-Left (CW)
|
||||
param set-default CA_ROTOR1_PX 1.4
|
||||
param set-default CA_ROTOR1_PY 1.4
|
||||
|
||||
# Motor 2: Rear-Left (CCW)
|
||||
param set-default CA_ROTOR2_PX -1.4
|
||||
param set-default CA_ROTOR2_PY -1.4
|
||||
|
||||
# Motor 3: Rear-Right (CW)
|
||||
param set-default CA_ROTOR3_PX -1.4
|
||||
param set-default CA_ROTOR3_PY 1.4
|
||||
param set-default CA_ROTOR3_KM -0.05
|
||||
|
||||
# PWM Output Mapping
|
||||
param set-default PWM_MAIN_FUNC1 101
|
||||
param set-default PWM_MAIN_FUNC2 102
|
||||
param set-default PWM_MAIN_FUNC3 103
|
||||
param set-default PWM_MAIN_FUNC4 104
|
||||
|
||||
|
||||
################################################################################
|
||||
# EKF2 SENSOR FUSION
|
||||
################################################################################
|
||||
# Optimized for X-Plane SITL with variable FPS (30-150 Hz)
|
||||
#
|
||||
# BAROMETER TUNING:
|
||||
# - BARO_NOISE: 1.0 m, matching the Alia SITL lesson that X-Plane baro should
|
||||
# not be treated as centimeter-class when frame timing and physics vary.
|
||||
# - BARO_GATE: 10.0 (increased from default 3.0)
|
||||
# * Tolerates FPS-induced timing gaps and altitude transients
|
||||
# * Prevents false "BARO switch" errors during mission climbs
|
||||
#
|
||||
# GPS TUNING:
|
||||
# - GPS_P_NOISE: 0.15 m, kept conservative for this X-Plane model.
|
||||
# * Barometer remains the primary smooth height source, but not centimeter-class.
|
||||
# - Horizontal noise: 0.01m (GPS horizontal is more accurate)
|
||||
#
|
||||
# INNOVATION GATES:
|
||||
# All gates increased from default values for FPS variability tolerance.
|
||||
# Prevents false sensor faults during:
|
||||
# - X-Plane FPS drops (timing jitter)
|
||||
# - Mission altitude changes (pressure transients)
|
||||
# - Waypoint transitions (acceleration spikes)
|
||||
#
|
||||
# TROUBLESHOOTING:
|
||||
# If "BARO switch" errors occur:
|
||||
# 1. Verify CAL_BARO1_PRIO=0 (backup sensor disabled)
|
||||
# 2. Check only one barometer message per frame in px4xplane plugin
|
||||
# 3. Increase EKF2_BARO_GATE if needed (max 10.0)
|
||||
|
||||
# Simulation mode enablement
|
||||
param set-default SENS_EN_GPSSIM 1
|
||||
param set-default SENS_EN_BAROSIM 1
|
||||
|
||||
# Barometer priority (single sensor for SITL simplicity)
|
||||
param set-default CAL_BARO0_ID 6620172
|
||||
param set-default CAL_BARO0_PRIO 100
|
||||
param set-default CAL_BARO1_ID 6620428
|
||||
param set-default CAL_BARO1_PRIO 0 # Backup disabled (prevents mid-mission switching)
|
||||
|
||||
# EKF2 core configuration
|
||||
param set-default EKF2_MULTI_IMU 1
|
||||
param set-default SENS_IMU_MODE 0
|
||||
|
||||
# Accelerometer bias estimation for X-Plane SITL.
|
||||
param set-default EKF2_ABL_LIM 2.5 # X-Plane SITL requires higher tolerance (see note below)
|
||||
param set-default EKF2_ABL_ACCLIM 35.0
|
||||
param set-default EKF2_ACC_NOISE 1.0 # Better accelerometer trust
|
||||
param set-default EKF2_ACC_B_NOISE 0.001 # Accel bias damping for frame-paced SITL updates
|
||||
|
||||
# X-PLANE SITL NOTE: EKF2_ABL_LIM = 2.5 (vs Gazebo/jMAVSim default 0.4)
|
||||
# Required because X-Plane sensor updates are frame-paced and can vary with
|
||||
# rendering load, which can make EKF2 estimate higher acceleration bias.
|
||||
# This does NOT affect flight performance - only the preflight arming check.
|
||||
|
||||
# Barometer parameters.
|
||||
param set-default EKF2_BARO_NOISE 1.0 # Baro height noise in m; avoids overconfident fusion during X-Plane transients
|
||||
param set-default EKF2_BARO_GATE 10.0 # Increased for FPS variability tolerance
|
||||
|
||||
# Use neutral simulated accelerometer offsets. The px4xplane bridge publishes
|
||||
# attitude-consistent HIL accelerometer data, so model-specific calibration
|
||||
# offsets would corrupt sensor_combined and can trip EKF2 bias checks.
|
||||
param set-default CAL_ACC0_PRIO 50
|
||||
param set-default CAL_ACC0_XOFF 0.0
|
||||
param set-default CAL_ACC0_YOFF 0.0
|
||||
param set-default CAL_ACC0_ZOFF 0.0
|
||||
|
||||
# GPS parameters
|
||||
param set-default SENS_GPS0_DELAY 10
|
||||
param set-default SENS_GPS1_DELAY 10
|
||||
param set-default EKF2_GPS_P_NOISE 1.5 # X-Plane HIL position covariance
|
||||
param set-default EKF2_GPS_V_NOISE 0.30 # X-Plane HIL velocity covariance for variable-FPS ground/transition phases
|
||||
param set-default EKF2_GPS_P_GATE 8.0 # Innovation gate
|
||||
|
||||
# Magnetometer parameters
|
||||
param set-default EKF2_MAG_TYPE 1
|
||||
param set-default EKF2_MAG_GATE 5.0 # Increased for FPS tolerance
|
||||
|
||||
# Additional sensors
|
||||
param set-default EKF2_ASP_DELAY 0.0
|
||||
param set-default EKF2_AVEL_DELAY 0.0
|
||||
param set-default EKF2_WIND_NSD 0.01
|
||||
param set-default EKF2_REQ_VDRIFT 1.0
|
||||
|
||||
# IMU configuration
|
||||
param set-default IMU_GYRO_RATEMAX 200
|
||||
|
||||
|
||||
################################################################################
|
||||
# MULTICOPTER RATE CONTROL (Inner Loop PID)
|
||||
################################################################################
|
||||
# Attitude rate controllers for roll, pitch, yaw.
|
||||
#
|
||||
# TUNING GUIDE:
|
||||
# - P gain: Responsiveness (higher = faster, can cause oscillation)
|
||||
# - I gain: Steady-state error correction (too high = overshoot)
|
||||
# - D gain: Damping (reduces oscillation, sensitive to noise)
|
||||
# - FF: Feedforward (improves tracking, reduces lag)
|
||||
# - K: Loop gain multiplier
|
||||
#
|
||||
# For new airframes:
|
||||
# 1. Start with these conservative values
|
||||
# 2. Increase P until slight oscillation, then back off 20-30%
|
||||
# 3. Add D for damping (typically P/10)
|
||||
# 4. Add I last (typically P/15)
|
||||
|
||||
# Roll rate
|
||||
param set-default MC_ROLLRATE_I 0.1
|
||||
param set-default MC_ROLLRATE_D 0.01
|
||||
param set-default MC_ROLLRATE_K 3.0
|
||||
|
||||
# Pitch rate
|
||||
param set-default MC_PITCHRATE_I 0.1
|
||||
param set-default MC_PITCHRATE_D 0.01
|
||||
param set-default MC_PITCHRATE_K 2.05
|
||||
|
||||
# Yaw rate
|
||||
param set-default MC_YAWRATE_P 2
|
||||
param set-default MC_YAWRATE_I 0
|
||||
param set-default MC_YAWRATE_FF 0.2
|
||||
param set-default MC_YAWRATE_K 0.6
|
||||
param set-default MC_YAWRATE_MAX 100
|
||||
|
||||
|
||||
################################################################################
|
||||
# MULTICOPTER ATTITUDE CONTROL (Outer Loop)
|
||||
################################################################################
|
||||
# Attitude controllers for orientation angles.
|
||||
|
||||
param set-default MC_ROLL_P 1.0
|
||||
param set-default MC_PITCH_P 1.0
|
||||
param set-default MC_YAW_P 0.6
|
||||
|
||||
|
||||
################################################################################
|
||||
# POSITION & VELOCITY CONTROL
|
||||
################################################################################
|
||||
# Outermost control loops for position and velocity.
|
||||
#
|
||||
# LARGE AIRCRAFT TUNING:
|
||||
# Conservative speeds and gentle accelerations for passenger comfort.
|
||||
|
||||
# Position control
|
||||
param set-default MPC_XY_P 0.05 # Conservative large-multicopter position P
|
||||
param set-default MPC_Z_P 0.25 # Vertical position P
|
||||
|
||||
# Velocity control
|
||||
param set-default MPC_XY_VEL_P_ACC 1.2
|
||||
param set-default MPC_XY_VEL_I_ACC 0.2
|
||||
param set-default MPC_XY_VEL_D_ACC 0.8
|
||||
param set-default MPC_Z_VEL_P_ACC 3
|
||||
param set-default MPC_Z_VEL_D_ACC 0.2
|
||||
|
||||
# Velocity limits (passenger comfort priority)
|
||||
param set-default MPC_XY_VEL_MAX 6.5 # Max horizontal (m/s) ~23 km/h
|
||||
param set-default MPC_Z_V_AUTO_UP 2.0
|
||||
param set-default MPC_Z_V_AUTO_DN 1.2
|
||||
param set-default MPC_VEL_MANUAL 5 # Manual horizontal speed below MPC_XY_VEL_MAX
|
||||
|
||||
# Trajectory & jerk limits (reduced for smooth ride)
|
||||
param set-default MPC_ACC_HOR 1.5
|
||||
param set-default MPC_ACC_HOR_MAX 1.8
|
||||
param set-default MPC_ACC_UP_MAX 2.0
|
||||
param set-default MPC_ACC_DOWN_MAX 2.0
|
||||
param set-default MPC_JERK_AUTO 1.0 # PX4-valid low jerk for smooth auto motion
|
||||
param set-default MPC_JERK_MAX 2.0 # Smooth manual acceleration changes
|
||||
|
||||
# Error limits
|
||||
param set-default MPC_XY_ERR_MAX 10
|
||||
|
||||
|
||||
################################################################################
|
||||
# MANUAL FLIGHT MODE
|
||||
################################################################################
|
||||
# Manual flight characteristics and feel.
|
||||
|
||||
# Tilt & attitude limits
|
||||
param set-default MPC_MAN_TILT_MAX 25
|
||||
param set-default MPC_TILTMAX_AIR 30
|
||||
|
||||
# Yaw control
|
||||
param set-default MPC_MAN_Y_MAX 15
|
||||
param set-default MPC_YAWRAUTO_MAX 20
|
||||
|
||||
# Advanced options
|
||||
param set-default MPC_ALT_MODE 0
|
||||
|
||||
|
||||
################################################################################
|
||||
# TAKEOFF & LANDING
|
||||
################################################################################
|
||||
|
||||
# Takeoff
|
||||
param set-default MPC_TKO_SPEED 2.0 # Smooth takeoff climb rate (m/s)
|
||||
|
||||
# Landing
|
||||
param set-default MPC_LAND_ALT1 8 # Start slowing close to ground (m)
|
||||
param set-default MPC_LAND_ALT2 3 # Final landing speed below this height (m)
|
||||
param set-default MPC_LAND_SPEED 0.6 # PX4 minimum landing descend rate (m/s)
|
||||
param set-default MPC_LAND_RADIUS 25
|
||||
param set-default MPC_LAND_RC_HELP 1
|
||||
|
||||
# Land detector
|
||||
param set-default LNDMC_Z_VEL_MAX 0.24
|
||||
param set-default COM_DISARM_LAND 1.5
|
||||
|
||||
|
||||
################################################################################
|
||||
# NAVIGATION & MISSION
|
||||
################################################################################
|
||||
# LARGE MULTICOPTER CONFIGURATION
|
||||
#
|
||||
# Design philosophy: this X-Plane Ehang-style multicopter is not a small racing
|
||||
# drone. Parameters prioritize smooth motion and stable commanded response
|
||||
# over aggressive point capture.
|
||||
#
|
||||
# TUNING BY AIRCRAFT SIZE:
|
||||
# - Small drone (<2kg): NAV_ACC_RAD=5m, ALT_RAD=0.8m, JERK=2.0
|
||||
# - Medium drone (2-25kg): NAV_ACC_RAD=10m, ALT_RAD=1.5m, JERK=1.5
|
||||
# - Large multicopter (>100kg): NAV_ACC_RAD=12m, ALT_RAD=2m, JERK=1.0 <-- Current
|
||||
# - Heavy cargo (>500kg): NAV_ACC_RAD=50m, ALT_RAD=5m, JERK=0.5
|
||||
|
||||
# Mission parameters
|
||||
param set-default MIS_YAW_ERR 30 # Max yaw error (deg) - gentle corrections
|
||||
param set-default MIS_YAW_TMT 5
|
||||
|
||||
# Navigation acceptance radii
|
||||
# Large enough for smooth waypoint capture while preserving useful tracking.
|
||||
param set-default NAV_ACC_RAD 12 # Horizontal acceptance radius (m)
|
||||
param set-default NAV_MC_ALT_RAD 2 # Vertical acceptance radius (m)
|
||||
|
||||
# Return to launch
|
||||
param set-default RTL_DESCEND_ALT 30
|
||||
|
||||
|
||||
# GPS configuration
|
||||
param set-default GPS_UBX_DYNMODEL 6 # Airborne <1g
|
||||
|
||||
################################################################################
|
||||
# END OF CONFIGURATION
|
||||
################################################################################
|
||||
# Maintainer: px4xplane project - https://github.com/alireza787b/px4xplane/
|
||||
################################################################################
|
||||
447
ROMFS/px4fmu_common/init.d-posix/airframes/5020_xplane_alia250
Normal file
447
ROMFS/px4fmu_common/init.d-posix/airframes/5020_xplane_alia250
Normal file
@@ -0,0 +1,447 @@
|
||||
#!/bin/sh
|
||||
################################################################################
|
||||
# PX4 SITL Configuration for Alia-250 eVTOL (VTOL Quadplane) in X-Plane
|
||||
################################################################################
|
||||
#
|
||||
# Airframe: Beta Technologies Alia-250
|
||||
# Type: VTOL Quadplane / lift-plus-cruise style
|
||||
# Configuration: 4 Hover Motors + 1 Pusher Motor + Control Surfaces
|
||||
# Compatible Sim: X-Plane 11/12
|
||||
#
|
||||
# AIRCRAFT REFERENCE VALUES:
|
||||
# - Active SITL mass model: 3,120 kg, matching the tested X-Plane aircraft
|
||||
# - Public Alia reference MTOW: about 6,000 lb (2,721 kg)
|
||||
# - Wingspan: 50 ft (15 m) - Fixed-wing design
|
||||
# - Cruise Speed: 170 mph (75 m/s) in forward flight
|
||||
# - Range: 250 nautical miles (460 km)
|
||||
# - Capacity: 5 passengers or cargo
|
||||
# - Motors: 4x hover rotors + 1x pusher propeller
|
||||
# - Flight Modes: Multicopter hover, fixed-wing cruise, transition
|
||||
#
|
||||
# USAGE:
|
||||
# make px4_sitl_default xplane_alia250
|
||||
#
|
||||
# @name Alia-250 eVTOL X-Plane SITL
|
||||
# @type Standard VTOL
|
||||
# @class VTOL
|
||||
# @maintainer Alireza Ghaderi <p30planets@gmail.com>
|
||||
# @url https://github.com/alireza787b/px4xplane/
|
||||
. ${R}etc/init.d/rc.vtol_defaults
|
||||
|
||||
|
||||
################################################################################
|
||||
# BRIDGE / SIMULATOR CONTRACT PARAMETERS
|
||||
# Sections 1-2 keep PX4 aligned with the px4xplane sensor and actuator bridge.
|
||||
# Avoid changing these in aircraft-performance tuning unless a bridge replay or
|
||||
# ULog analysis proves the contract itself changed.
|
||||
################################################################################
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 1: CONTROL ALLOCATION (CA) - VTOL QUADPLANE CONFIGURATION
|
||||
################################################################################
|
||||
# Hover Motors: 4x wing-mounted rotors (MC mode)
|
||||
# Forward Motor: 1x pusher propeller (FW mode)
|
||||
# Control Surfaces: Ailerons, Elevator, Rudder (FW mode)
|
||||
|
||||
param set-default CA_AIRFRAME 2 # VTOL configuration
|
||||
param set-default CA_ROTOR_COUNT 5 # 4 hover + 1 pusher
|
||||
|
||||
# Hover Motors (X configuration)
|
||||
param set-default CA_ROTOR0_PX 3.0 # Front-Right (CW)
|
||||
param set-default CA_ROTOR0_PY 2.5
|
||||
param set-default CA_ROTOR0_KM -0.05
|
||||
|
||||
param set-default CA_ROTOR1_PX 3.0
|
||||
param set-default CA_ROTOR1_PY -2.5
|
||||
|
||||
param set-default CA_ROTOR2_PX -3.0
|
||||
param set-default CA_ROTOR2_PY -2.5
|
||||
param set-default CA_ROTOR2_KM -0.05
|
||||
|
||||
param set-default CA_ROTOR3_PX -3.0
|
||||
param set-default CA_ROTOR3_PY 2.5
|
||||
|
||||
# Pusher Motor (FW mode)
|
||||
param set-default CA_ROTOR4_AX 1.0 # Thrust forward
|
||||
param set-default CA_ROTOR4_AZ 0.0
|
||||
param set-default CA_ROTOR4_PX 5.0 # Tail position
|
||||
param set-default CA_ROTOR4_KM -0.05
|
||||
|
||||
# Control Surfaces (FW mode)
|
||||
param set-default CA_SV_CS0_TRQ_R -0.5 # Left Aileron
|
||||
param set-default CA_SV_CS0_TYPE 1
|
||||
param set-default CA_SV_CS1_TRQ_R 0.5 # Right Aileron
|
||||
param set-default CA_SV_CS1_TYPE 2
|
||||
param set-default CA_SV_CS2_TRQ_P 1.0 # Elevator
|
||||
param set-default CA_SV_CS2_TYPE 3
|
||||
param set-default CA_SV_CS3_TRQ_Y 1.0 # Rudder
|
||||
param set-default CA_SV_CS3_TYPE 4
|
||||
param set-default CA_SV_CS_COUNT 4
|
||||
|
||||
# PWM Output Mapping
|
||||
param set-default PWM_MAIN_FUNC1 101 # Hover motor 1
|
||||
param set-default PWM_MAIN_FUNC2 102 # Hover motor 2
|
||||
param set-default PWM_MAIN_FUNC3 103 # Hover motor 3
|
||||
param set-default PWM_MAIN_FUNC4 104 # Hover motor 4
|
||||
param set-default PWM_MAIN_FUNC5 201 # Aileron L
|
||||
param set-default PWM_MAIN_FUNC6 202 # Aileron R
|
||||
param set-default PWM_MAIN_FUNC7 203 # Elevator
|
||||
param set-default PWM_MAIN_FUNC8 204 # Rudder
|
||||
param set-default PWM_MAIN_FUNC9 105 # Pusher motor
|
||||
param set-default PWM_MAIN_REV 112
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 2: EKF2 SENSOR FUSION - PX4XPLANE SITL BASELINE
|
||||
################################################################################
|
||||
# Estimator settings for the px4xplane simulator sensor contract.
|
||||
|
||||
# Sensor Simulation Enables
|
||||
param set-default SENS_EN_GPSSIM 1 # GPS simulation
|
||||
param set-default SENS_EN_BAROSIM 1 # Barometer simulation
|
||||
|
||||
# Barometer priority. PX4 simulator_mavlink publishes two simulated baro
|
||||
# uORB instances from one HIL_SENSOR stream. Seed the known simulated device
|
||||
# IDs so CAL_BARO1_PRIO=0 actually disables the duplicate backup instance on
|
||||
# a fresh PX4 SITL rootfs.
|
||||
param set-default CAL_BARO0_ID 6620172
|
||||
param set-default CAL_BARO0_PRIO 100 # Primary barometer
|
||||
param set-default CAL_BARO1_ID 6620428
|
||||
param set-default CAL_BARO1_PRIO 0 # Backup disabled
|
||||
|
||||
# EKF2 Core Configuration
|
||||
param set-default EKF2_MULTI_IMU 1
|
||||
param set-default SENS_IMU_MODE 0
|
||||
|
||||
# Accelerometer Bias Estimation
|
||||
param set-default EKF2_ABL_LIM 2.5 # X-Plane SITL requires higher tolerance (see note below)
|
||||
param set-default EKF2_ABL_ACCLIM 35.0
|
||||
param set-default EKF2_ACC_NOISE 1.0
|
||||
param set-default EKF2_ACC_B_NOISE 0.001
|
||||
|
||||
# X-Plane SITL note: this limit is intentionally higher than common robotics
|
||||
# simulator defaults because the bridge is frame-rate-limited and X-Plane's
|
||||
# physics model is not identical to the EKF sensor model. Revisit with replay
|
||||
# and ULog innovation evidence before reducing it.
|
||||
|
||||
# Barometer
|
||||
param set-default EKF2_BARO_NOISE 1.0 # Baro height noise in m; avoids overconfident fusion during VTOL/FW transients
|
||||
param set-default EKF2_BARO_GATE 10.0 # Increased tolerance for VTOL transitions (prevents false BARO switch)
|
||||
|
||||
# Use neutral simulated accelerometer offsets. The px4xplane bridge publishes
|
||||
# attitude-consistent HIL accelerometer data, so model-specific calibration
|
||||
# offsets would corrupt sensor_combined and can trip EKF2 bias checks.
|
||||
param set-default CAL_ACC0_PRIO 50
|
||||
param set-default CAL_ACC0_XOFF 0.0
|
||||
param set-default CAL_ACC0_YOFF 0.0
|
||||
param set-default CAL_ACC0_ZOFF 0.0
|
||||
|
||||
# GPS Parameters
|
||||
param set-default SENS_GPS0_DELAY 10
|
||||
param set-default SENS_GPS1_DELAY 10
|
||||
param set-default EKF2_GPS_P_NOISE 5.0 # X-Plane HIL position covariance during high-speed transition
|
||||
param set-default EKF2_GPS_V_NOISE 0.30 # X-Plane HIL velocity covariance for variable-FPS ground/transition phases
|
||||
param set-default EKF2_GPS_P_GATE 10.0
|
||||
|
||||
# Magnetometer
|
||||
param set-default EKF2_MAG_TYPE 1
|
||||
param set-default EKF2_MAG_GATE 5.0
|
||||
param set-default EKF2_MAG_DELAY 1.0
|
||||
|
||||
# Airspeed (SITL strategy - optional fusion)
|
||||
param set-default EKF2_ASP_DELAY 0.0
|
||||
param set-default EKF2_ARSP_THR 50.0
|
||||
param set-default EKF2_GSF_TAS 0.0
|
||||
|
||||
# Additional Sensors
|
||||
param set-default EKF2_AVEL_DELAY 0.0
|
||||
param set-default EKF2_WIND_NSD 0.01
|
||||
param set-default EKF2_REQ_VDRIFT 1.0
|
||||
param set-default EKF2_SYNT_MAG_Z 1
|
||||
|
||||
# IMU Configuration
|
||||
param set-default IMU_GYRO_RATEMAX 200
|
||||
|
||||
|
||||
################################################################################
|
||||
# AIRCRAFT-PERFORMANCE TUNING PARAMETERS
|
||||
# Tune in this order: MC rate/attitude/position, FW attitude, TECS/NPFG,
|
||||
# then VTOL front/back transition behavior.
|
||||
################################################################################
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 3: MULTICOPTER RATE CONTROL (HOVER MODE)
|
||||
################################################################################
|
||||
# Initial MC mode tuning for a heavy VTOL.
|
||||
|
||||
# Roll Rate
|
||||
param set-default MC_ROLLRATE_P 0.4
|
||||
param set-default MC_ROLLRATE_I 0.0
|
||||
param set-default MC_ROLLRATE_D 0.0044
|
||||
param set-default MC_ROLLRATE_K 2.25
|
||||
param set-default MC_ROLLRATE_MAX 220
|
||||
|
||||
# Pitch Rate
|
||||
param set-default MC_PITCHRATE_P 0.4
|
||||
param set-default MC_PITCHRATE_I 0.0
|
||||
param set-default MC_PITCHRATE_D 0.01
|
||||
param set-default MC_PITCHRATE_K 4.0
|
||||
|
||||
# Yaw Rate
|
||||
param set-default MC_YAWRATE_P 1.0
|
||||
param set-default MC_YAWRATE_I 0.0
|
||||
param set-default MC_YAWRATE_FF 1.0
|
||||
param set-default MC_YAWRATE_K 5.0
|
||||
param set-default MC_YAWRATE_MAX 30
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 4: MULTICOPTER ATTITUDE CONTROL (HOVER MODE)
|
||||
################################################################################
|
||||
|
||||
param set-default MC_ROLL_P 0.3
|
||||
param set-default MC_PITCH_P 0.5
|
||||
param set-default MC_YAW_P 1.0
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 5: POSITION & VELOCITY CONTROL (MC MODE)
|
||||
################################################################################
|
||||
# Initial heavy-aircraft position control values.
|
||||
|
||||
# Position Control
|
||||
param set-default MPC_XY_P 0.05
|
||||
param set-default MPC_Z_P 0.65
|
||||
|
||||
# Velocity control
|
||||
param set-default MPC_XY_VEL_P_ACC 1.2
|
||||
param set-default MPC_XY_VEL_I_ACC 0.2
|
||||
param set-default MPC_XY_VEL_D_ACC 2.0
|
||||
param set-default MPC_Z_VEL_P_ACC 5.0
|
||||
param set-default MPC_Z_VEL_I_ACC 1.25 # Reduced from 1.4 for less integral windup
|
||||
param set-default MPC_Z_VEL_D_ACC 0.55 # Increased from 0.45 for better damping
|
||||
|
||||
# Velocity Limits (heavy aircraft performance)
|
||||
param set-default MPC_XY_VEL_MAX 15 # Increased for heavy aircraft
|
||||
param set-default MPC_Z_VEL_MAX_UP 4 # Increased for heavy aircraft
|
||||
param set-default MPC_Z_VEL_MAX_DN 2.2
|
||||
param set-default MPC_Z_V_AUTO_DN 2.2
|
||||
param set-default MPC_VEL_MANUAL 10
|
||||
param set-default MPC_XY_CRUISE 10
|
||||
|
||||
# Trajectory & Jerk Limits
|
||||
param set-default MPC_JERK_AUTO 1.0 # Increased for heavy aircraft
|
||||
param set-default MPC_JERK_MAX 3.0
|
||||
|
||||
# Error Limits
|
||||
# Large VTOL takeoff can carry several metres of lateral residual while climbing.
|
||||
# The PX4 maximum prevents the takeoff trajectory from pausing vertical progress
|
||||
# just because XY error briefly exceeds the multicopter default.
|
||||
param set-default MPC_XY_ERR_MAX 10
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 6: MANUAL FLIGHT MODE (MC MODE)
|
||||
################################################################################
|
||||
|
||||
# Yaw Control
|
||||
param set-default MPC_MAN_Y_MAX 30
|
||||
param set-default MPC_YAWRAUTO_MAX 30
|
||||
|
||||
# Advanced Options
|
||||
param set-default MPC_ALT_MODE 0
|
||||
param set-default MPC_YAW_MODE 0
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 7: TAKEOFF & LANDING (MC MODE)
|
||||
################################################################################
|
||||
|
||||
# Takeoff
|
||||
param set-default MPC_TKO_SPEED 3.0
|
||||
|
||||
# Landing
|
||||
# Descend efficiently above 8 m AGL, then slow to a passenger-friendly flare.
|
||||
param set-default MPC_LAND_ALT1 8
|
||||
param set-default MPC_LAND_ALT2 3
|
||||
param set-default MPC_LAND_SPEED 0.6
|
||||
param set-default MPC_LAND_RADIUS 1000
|
||||
param set-default MPC_LAND_RC_HELP 1
|
||||
|
||||
# Land Detector
|
||||
param set-default COM_DISARM_LAND 1.5
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 8: VTOL TRANSITION PARAMETERS
|
||||
################################################################################
|
||||
|
||||
# Core Configuration
|
||||
param set-default VT_TYPE 2 # Current PX4 airframe type used by this SITL config
|
||||
|
||||
# Transition airspeeds. Match the FW trim schedule so the pusher/TECS handoff
|
||||
# does not enter FW already overspeeding and above the mission altitude.
|
||||
param set-default VT_ARSP_BLEND 22.0
|
||||
param set-default VT_ARSP_TRANS 40.0
|
||||
param set-default VT_F_TRANS_THR 0.95
|
||||
param set-default VT_PSHER_SLEW 0.45
|
||||
|
||||
# Front Transition (MC -> FW)
|
||||
param set-default VT_F_TRANS_DUR 45.0
|
||||
param set-default VT_F_TR_OL_TM 55.0
|
||||
|
||||
# Back Transition (FW -> MC)
|
||||
param set-default VT_B_TRANS_DUR 28.0
|
||||
param set-default VT_B_DEC_MSS 2.0
|
||||
param set-default VT_B_DEC_I 0.25
|
||||
param set-default VT_B_TRANS_RAMP 10.0 # Smooth MC motor ramp-up for this large SITL eVTOL
|
||||
|
||||
# Transition Safety
|
||||
param set-default VT_TRANS_MIN_TM 15.0 # Minimum transition time
|
||||
param set-default VT_TRANS_TIMEOUT 100.0 # Transition timeout
|
||||
param set-default VT_QC_T_ALT_LOSS 100.0 # Max altitude loss in QuadChute
|
||||
|
||||
# Transition Control
|
||||
param set-default VT_ELEV_MC_LOCK 0
|
||||
param set-default VT_FWD_THRUST_EN 4 # Enabled
|
||||
param set-default VTO_LOITER_ALT 1500.0
|
||||
param set-default VT_FW_MIN_ALT 20.0 # Min altitude for FW mode
|
||||
param set-default VT_TILT_TRANS 0.5
|
||||
param set-default VT_PITCH_MIN -5.0
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 9: FIXED-WING FLIGHT PARAMETERS (CRUISE MODE)
|
||||
################################################################################
|
||||
# The fixed-wing envelope uses moderate bank authority and a large orbit radius
|
||||
# to keep the heavy eVTOL model inside the tested X-Plane handling envelope.
|
||||
|
||||
# Rate Control
|
||||
param set-default FW_RR_P 0.47
|
||||
param set-default FW_RR_I 0.05
|
||||
param set-default FW_RR_D 0.1
|
||||
param set-default FW_R_RMAX 16.0
|
||||
param set-default FW_R_TC 0.85
|
||||
param set-default FW_R_LIM 20.0
|
||||
|
||||
param set-default FW_PR_P 0.52
|
||||
param set-default FW_PR_I 0.045
|
||||
param set-default FW_PR_D 0.355
|
||||
param set-default FW_PR_FF 3.6
|
||||
param set-default FW_PSP_OFF 2.0
|
||||
param set-default FW_P_LIM_MAX 24.0
|
||||
param set-default FW_P_LIM_MIN -2.0
|
||||
param set-default FW_P_TC 0.40
|
||||
param set-default FW_PN_R_SLEW_MAX 50.0
|
||||
|
||||
# Yaw Rate Control (High-speed cruise mode)
|
||||
param set-default FW_YR_P 0.1 # P gain (higher for 75 m/s cruise)
|
||||
param set-default FW_YR_I 0.12 # I gain (balanced authority)
|
||||
param set-default FW_Y_RMAX 60.0 # Max yaw rate (slightly higher for eVTOL)
|
||||
|
||||
# Airspeed Control
|
||||
param set-default FW_AIRSPD_MIN 32.0 # Above stall
|
||||
param set-default FW_AIRSPD_MAX 75.0 # Cruise limit
|
||||
param set-default FW_AIRSPD_TRIM 55.0 # Validation trim for transition and mission tracking
|
||||
param set-default FW_AIRSPD_STALL 30.0 # Stall speed
|
||||
|
||||
# Airspeed Sensor (SITL)
|
||||
# X-Plane provides the pitot through the simulator stream, not a physical driver.
|
||||
# Keep the missing-data check and avoid false innovation/stuck-data failures
|
||||
# during VTOL transition.
|
||||
param set-default ASPD_DO_CHECKS 1
|
||||
param set-default ASPD_FALLBACK 1 # Fallback to G/S - W/S
|
||||
param set-default SYS_HAS_NUM_ASPD 0 # Do not make virtual SITL pitot a prearm hardware requirement
|
||||
|
||||
# TECS
|
||||
param set-default FW_T_ALT_TC 7.5
|
||||
param set-default FW_T_RLL2THR 8.0
|
||||
param set-default FW_T_STE_R_TC 2.0
|
||||
param set-default FW_T_SPDWEIGHT 0.45
|
||||
param set-default FW_T_SINK_MIN 1.0
|
||||
param set-default FW_T_SINK_MAX 3.0
|
||||
param set-default FW_T_CLMB_MAX 3.2
|
||||
param set-default FW_T_VERT_ACC 2.2
|
||||
param set-default FW_T_THR_DAMPING 0.35
|
||||
param set-default FW_T_PTCH_DAMP 0.25
|
||||
param set-default FW_T_I_GAIN_PIT 0.20
|
||||
param set-default FW_T_CLMB_R_SP 2.0
|
||||
param set-default FW_T_SINK_R_SP 1.5
|
||||
|
||||
# Throttle Management
|
||||
param set-default FW_THR_TRIM 0.65
|
||||
param set-default FW_THR_MIN 0.12
|
||||
param set-default FW_THR_SLEW_MAX 0.35
|
||||
|
||||
# Geometry
|
||||
param set-default FW_WING_SPAN 17.0 # Actually 15m, 17m for tuning
|
||||
param set-default FW_WING_HEIGHT 3.5
|
||||
param set-default WEIGHT_BASE 3120.0
|
||||
param set-default WEIGHT_GROSS 3120.0
|
||||
|
||||
# Landing
|
||||
param set-default FW_LND_ABORT 0
|
||||
param set-default FW_LND_AIRSPD 0 # Auto
|
||||
param set-default FW_LND_FLALT 5.0
|
||||
param set-default FW_LND_FL_PMAX 35.0
|
||||
param set-default LNDFW_VEL_XY_MAX 15.0
|
||||
|
||||
# Orbit
|
||||
param set-default MC_ORBIT_RAD_MAX 2000
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 10: NPFG GUIDANCE (Modern PX4 v1.14+)
|
||||
################################################################################
|
||||
# Formula: L1_distance = (1/pi) * NPFG_DAMPING * NPFG_PERIOD * groundspeed.
|
||||
# The values below keep loiter capture smooth without sustained high-bank flight.
|
||||
|
||||
param set-default NPFG_PERIOD 40.0
|
||||
param set-default NPFG_DAMPING 0.80
|
||||
param set-default NPFG_ROLL_TC 0.9
|
||||
param set-default NPFG_SW_DST_MLT 0.7
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 11: NAVIGATION & MISSION
|
||||
################################################################################
|
||||
# Large VTOL aircraft navigation strategy
|
||||
|
||||
# Mission Parameters
|
||||
param set-default MIS_YAW_ERR 30.0
|
||||
param set-default MIS_YAW_TMT 5.0
|
||||
param set-default MIS_TAKEOFF_ALT 100.0
|
||||
param set-default MIS_TKO_LAND_REQ 0
|
||||
param set-default MIS_DIST_1WP 5000.0
|
||||
|
||||
# MC Mode Acceptance
|
||||
param set-default NAV_ACC_RAD 30 # Tighter landing (reduced from 50m)
|
||||
param set-default NAV_MC_ALT_RAD 5.0 # Heavier aircraft
|
||||
|
||||
# FW Mode Acceptance
|
||||
param set-default NAV_LOITER_RAD 2000.0
|
||||
param set-default NAV_FW_ALT_RAD 50.0
|
||||
|
||||
# Return to Launch
|
||||
param set-default RTL_RETURN_ALT 100
|
||||
param set-default RTL_DESCEND_ALT 80
|
||||
param set-default RTL_MIN_DIST 50.0
|
||||
param set-default RTL_LOITER_RAD 2000.0
|
||||
|
||||
|
||||
################################################################################
|
||||
# SECTION 12: SYSTEM DEFAULTS
|
||||
################################################################################
|
||||
|
||||
# Hover Thrust Estimator
|
||||
param set-default HTE_VXY_THR 10
|
||||
|
||||
# GPS Configuration
|
||||
param set-default GPS_UBX_DYNMODEL 6 # Airborne <1g
|
||||
|
||||
|
||||
################################################################################
|
||||
# END OF CONFIGURATION
|
||||
################################################################################
|
||||
@@ -0,0 +1,309 @@
|
||||
#!/bin/sh
|
||||
################################################################################
|
||||
# PX4 SITL Configuration for QuadTailsitter in X-Plane
|
||||
################################################################################
|
||||
#
|
||||
# X-Plane model: QuadTailsitter.acf
|
||||
# Compatible Sim: X-Plane 12
|
||||
# Control: Four fixed rotors, no aerodynamic control surfaces
|
||||
#
|
||||
# This airframe targets a 5 kg, 6S, control-surface-less quad tailsitter with a
|
||||
# body-axis virtual pitot. PX4 sensors are mounted in the multicopter body frame;
|
||||
# airspeed is projected along the fixed-wing nose axis so TECS and transition
|
||||
# logic receive positive calibrated airspeed in forward flight.
|
||||
#
|
||||
# USAGE:
|
||||
# make px4_sitl_default xplane_qtailsitter
|
||||
#
|
||||
# @name QuadTailsitter X-Plane SITL
|
||||
# @type VTOL Quad Tailsitter
|
||||
# @class VTOL
|
||||
# @maintainer Alireza Ghaderi <p30planets@gmail.com>
|
||||
# @url https://github.com/alireza787b/px4xplane/
|
||||
. ${R}etc/init.d/rc.vtol_defaults
|
||||
|
||||
|
||||
################################################################################
|
||||
# AIRFRAME AND CONTROL ALLOCATION
|
||||
################################################################################
|
||||
|
||||
param set-default MAV_TYPE 20
|
||||
param set-default CA_AIRFRAME 4
|
||||
|
||||
# X-Plane aircraft coordinates use X=right, Y=up, Z=tail. Plane Maker ACF
|
||||
# position values are in feet. PX4 control allocation uses body X=forward and
|
||||
# body Y=right in meters. The conversion below is:
|
||||
# PX4_X = -XPLANE_Z * 0.3048
|
||||
# PX4_Y = XPLANE_X * 0.3048
|
||||
# The canted rotor axes match the X-Plane aircraft and add yaw authority without
|
||||
# requiring aerodynamic control surfaces.
|
||||
param set-default CA_ROTOR_COUNT 4
|
||||
|
||||
param set-default CA_ROTOR0_PX 0.22
|
||||
param set-default CA_ROTOR0_PY 0.43
|
||||
param set-default CA_ROTOR0_AX -0.078
|
||||
param set-default CA_ROTOR0_AY 0.040
|
||||
param set-default CA_ROTOR0_AZ -0.996
|
||||
param set-default CA_ROTOR0_CT 2.0
|
||||
param set-default CA_ROTOR0_KM 0.04
|
||||
|
||||
param set-default CA_ROTOR1_PX -0.22
|
||||
param set-default CA_ROTOR1_PY -0.43
|
||||
param set-default CA_ROTOR1_AX 0.078
|
||||
param set-default CA_ROTOR1_AY -0.040
|
||||
param set-default CA_ROTOR1_AZ -0.996
|
||||
param set-default CA_ROTOR1_CT 2.0
|
||||
param set-default CA_ROTOR1_KM 0.04
|
||||
|
||||
param set-default CA_ROTOR2_PX 0.22
|
||||
param set-default CA_ROTOR2_PY -0.43
|
||||
param set-default CA_ROTOR2_AX -0.078
|
||||
param set-default CA_ROTOR2_AY -0.040
|
||||
param set-default CA_ROTOR2_AZ -0.996
|
||||
param set-default CA_ROTOR2_CT 2.0
|
||||
param set-default CA_ROTOR2_KM -0.04
|
||||
|
||||
param set-default CA_ROTOR3_PX -0.22
|
||||
param set-default CA_ROTOR3_PY 0.43
|
||||
param set-default CA_ROTOR3_AX 0.078
|
||||
param set-default CA_ROTOR3_AY 0.040
|
||||
param set-default CA_ROTOR3_AZ -0.996
|
||||
param set-default CA_ROTOR3_CT 2.0
|
||||
param set-default CA_ROTOR3_KM -0.04
|
||||
|
||||
param set-default PWM_MAIN_FUNC1 101
|
||||
param set-default PWM_MAIN_FUNC2 102
|
||||
param set-default PWM_MAIN_FUNC3 103
|
||||
param set-default PWM_MAIN_FUNC4 104
|
||||
|
||||
|
||||
################################################################################
|
||||
# PX4XPLANE SENSOR BASELINE
|
||||
################################################################################
|
||||
|
||||
param set-default SENS_EN_GPSSIM 1
|
||||
param set-default SENS_EN_BAROSIM 1
|
||||
|
||||
param set-default CAL_BARO0_ID 6620172
|
||||
param set-default CAL_BARO0_PRIO 100
|
||||
param set-default CAL_BARO1_ID 6620428
|
||||
param set-default CAL_BARO1_PRIO 0
|
||||
|
||||
param set-default EKF2_BARO_NOISE 1.0
|
||||
param set-default EKF2_BARO_GATE 10.0
|
||||
|
||||
param set-default SENS_GPS0_DELAY 10
|
||||
param set-default SENS_GPS1_DELAY 10
|
||||
param set-default EKF2_GPS_P_NOISE 5.0
|
||||
param set-default EKF2_GPS_V_NOISE 0.30
|
||||
param set-default EKF2_GPS_P_GATE 10.0
|
||||
|
||||
param set-default EKF2_MAG_TYPE 1
|
||||
param set-default EKF2_MAG_GATE 5.0
|
||||
param set-default EKF2_FUSE_BETA 0
|
||||
|
||||
param set-default EKF2_ABL_LIM 2.5
|
||||
param set-default EKF2_ABL_ACCLIM 35.0
|
||||
param set-default EKF2_ACC_NOISE 1.0
|
||||
param set-default EKF2_ACC_B_NOISE 0.001
|
||||
param set-default EKF2_MULTI_IMU 1
|
||||
param set-default SENS_IMU_MODE 0
|
||||
param set-default EKF2_ASP_DELAY 0.0
|
||||
param set-default EKF2_AVEL_DELAY 0.0
|
||||
param set-default EKF2_WIND_NSD 0.01
|
||||
param set-default EKF2_REQ_VDRIFT 1.0
|
||||
|
||||
param set-default IMU_GYRO_RATEMAX 200
|
||||
|
||||
|
||||
################################################################################
|
||||
# MULTICOPTER HOVER CONTROL
|
||||
################################################################################
|
||||
|
||||
# Preserve yaw authority at low hover thrust. PX4 requires stick arming to be
|
||||
# disabled when yaw airmode is enabled.
|
||||
param set-default MC_AIRMODE 2
|
||||
param set-default MAN_ARM_GESTURE 0
|
||||
|
||||
param set-default MC_ROLL_P 0.9
|
||||
param set-default MC_PITCH_P 0.58
|
||||
param set-default MC_YAW_P 0.65
|
||||
param set-default MC_YAW_WEIGHT 0.35
|
||||
|
||||
param set-default MC_ROLLRATE_P 0.10
|
||||
param set-default MC_ROLLRATE_I 0.02
|
||||
param set-default MC_ROLLRATE_D 0.0008
|
||||
param set-default MC_ROLLRATE_MAX 80
|
||||
|
||||
param set-default MC_PITCHRATE_P 0.115
|
||||
param set-default MC_PITCHRATE_I 0.02
|
||||
param set-default MC_PITCHRATE_D 0.0012
|
||||
param set-default MC_PITCHRATE_K 0.92
|
||||
param set-default MC_PITCHRATE_MAX 110
|
||||
|
||||
param set-default MC_YAWRATE_I 0.015
|
||||
param set-default MC_YAWRATE_D 0.025
|
||||
param set-default MC_YAWRATE_K 1.10
|
||||
param set-default MC_YAWRATE_MAX 55
|
||||
|
||||
|
||||
################################################################################
|
||||
# MULTICOPTER POSITION, TAKEOFF, AND LANDING
|
||||
################################################################################
|
||||
|
||||
# Keep autonomous multicopter motion moderate. This vehicle has enough thrust
|
||||
# margin, but excessive command acceleration couples into yaw/roll during hover
|
||||
# and after back-transition.
|
||||
param set-default MPC_XY_P 0.18
|
||||
param set-default MPC_XY_VEL_P_ACC 0.8
|
||||
param set-default MPC_XY_VEL_I_ACC 0.1
|
||||
param set-default MPC_Z_VEL_P_ACC 2.0
|
||||
param set-default MPC_Z_VEL_I_ACC 0.5
|
||||
param set-default MPC_Z_VEL_D_ACC 0.6
|
||||
|
||||
param set-default MPC_XY_VEL_MAX 4.0
|
||||
param set-default MPC_XY_CRUISE 3.5
|
||||
param set-default MPC_VEL_MANUAL 4.0
|
||||
param set-default MPC_Z_V_AUTO_UP 2.0
|
||||
param set-default MPC_Z_V_AUTO_DN 1.4
|
||||
param set-default MPC_Z_VEL_MAX_UP 2.4
|
||||
param set-default MPC_Z_VEL_MAX_DN 1.4
|
||||
param set-default MPC_XY_ERR_MAX 10
|
||||
|
||||
param set-default MPC_ACC_HOR 0.7
|
||||
param set-default MPC_ACC_HOR_MAX 1.0
|
||||
param set-default MPC_ACC_UP_MAX 2.2
|
||||
param set-default MPC_ACC_DOWN_MAX 1.5
|
||||
param set-default MPC_JERK_AUTO 0.7
|
||||
param set-default MPC_JERK_MAX 1.2
|
||||
|
||||
param set-default MPC_MAN_TILT_MAX 30
|
||||
param set-default MPC_TILTMAX_AIR 30
|
||||
param set-default MPC_TILTMAX_LND 8
|
||||
|
||||
param set-default MPC_THR_HOVER 0.22
|
||||
param set-default MPC_THR_MIN 0.08
|
||||
param set-default MPC_THR_XY_MARG 0.4
|
||||
|
||||
param set-default MPC_TKO_SPEED 1.2
|
||||
param set-default MPC_TKO_RAMP_T 2.5
|
||||
param set-default MIS_TAKEOFF_ALT 1.5
|
||||
param set-default MPC_LAND_ALT1 8
|
||||
param set-default MPC_LAND_ALT2 3
|
||||
param set-default MPC_LAND_SPEED 0.9
|
||||
param set-default MPC_LAND_CRWL 0.36
|
||||
param set-default MPC_LAND_RADIUS 30
|
||||
|
||||
param set-default LNDMC_ALT_GND 1.5
|
||||
param set-default LNDMC_ROT_MAX 25
|
||||
param set-default COM_DISARM_LAND 1.5
|
||||
|
||||
param set-default MPC_YAW_MODE 0
|
||||
param set-default MPC_YAWRAUTO_ACC 8
|
||||
param set-default MPC_YAWRAUTO_MAX 25
|
||||
param set-default MIS_YAW_ERR 30
|
||||
param set-default MIS_YAW_TMT 5
|
||||
param set-default MC_ORBIT_YAW_MOD 1
|
||||
|
||||
|
||||
################################################################################
|
||||
# FIXED-WING ENVELOPE AND ENERGY CONTROL
|
||||
################################################################################
|
||||
|
||||
# The body-axis X-Plane pitot is used by TECS and transition logic. Keep the
|
||||
# missing-data check and avoid false innovation/stuck-data failures during the
|
||||
# high-attitude tailsitter transition.
|
||||
param set-default ASPD_DO_CHECKS 1
|
||||
param set-default ASPD_FALLBACK 1
|
||||
param set-default SYS_HAS_NUM_ASPD 0
|
||||
param set-default EKF2_ARSP_THR 24.0
|
||||
param set-default EKF2_GSF_TAS 0.0
|
||||
|
||||
param set-default FW_AIRSPD_STALL 16
|
||||
param set-default FW_AIRSPD_MIN 19
|
||||
param set-default FW_AIRSPD_TRIM 27
|
||||
param set-default FW_AIRSPD_MAX 36
|
||||
|
||||
param set-default FW_THR_TRIM 0.14
|
||||
param set-default FW_THR_MAX 0.50
|
||||
param set-default FW_THR_SLEW_MAX 0.20
|
||||
|
||||
param set-default FW_T_SINK_MAX 3
|
||||
param set-default FW_T_SINK_MIN 1.6
|
||||
param set-default FW_T_SPDWEIGHT 0.8
|
||||
param set-default FW_T_RLL2THR 2.0
|
||||
param set-default FW_T_STE_R_TC 1.0
|
||||
param set-default FW_T_THR_DAMPING 0.25
|
||||
param set-default FW_T_PTCH_DAMP 0.25
|
||||
param set-default FW_T_I_GAIN_PIT 0.25
|
||||
param set-default FW_T_CLMB_R_SP 2.0
|
||||
|
||||
param set-default FW_P_TC 0.6
|
||||
param set-default FW_PSP_OFF 2.0
|
||||
param set-default FW_P_LIM_MAX 35
|
||||
param set-default FW_P_LIM_MIN -15
|
||||
param set-default FW_PR_P 0.50
|
||||
param set-default FW_PR_I 0.30
|
||||
|
||||
param set-default FW_R_TC 1.5
|
||||
param set-default FW_R_LIM 16
|
||||
param set-default FW_RR_P 0.10
|
||||
param set-default FW_RR_I 0.04
|
||||
param set-default FW_RR_FF 0.05
|
||||
|
||||
param set-default FW_YR_P 0.01
|
||||
param set-default FW_YR_I 0.0
|
||||
param set-default FW_YR_FF 0.0
|
||||
|
||||
|
||||
################################################################################
|
||||
# VTOL TRANSITION
|
||||
################################################################################
|
||||
|
||||
param set-default VT_ARSP_BLEND 20
|
||||
param set-default VT_ARSP_TRANS 28
|
||||
param set-default VT_F_TRANS_DUR 10.0
|
||||
param set-default VT_F_TRANS_THR 0.36
|
||||
param set-default VT_F_TR_OL_TM 14.0
|
||||
param set-default VT_TRANS_MIN_TM 8.0
|
||||
param set-default VT_TRANS_TIMEOUT 30
|
||||
param set-default VT_B_TRANS_DUR 5.0
|
||||
param set-default VT_B_DEC_MSS 1.0
|
||||
param set-default VT_B_DEC_I 0.12
|
||||
param set-default VT_B_TRANS_RAMP 1.5
|
||||
param set-default VT_FW_MIN_ALT 30
|
||||
param set-default VT_QC_T_ALT_LOSS 35
|
||||
param set-default VT_PITCH_MIN -10
|
||||
|
||||
param set-default VT_FW_DIFTHR_EN 7
|
||||
param set-default VT_FW_DIFTHR_S_R 0.55
|
||||
param set-default VT_FW_DIFTHR_S_P 0.90
|
||||
param set-default VT_FW_DIFTHR_S_Y 0.32
|
||||
|
||||
|
||||
################################################################################
|
||||
# NAVIGATION AND FAILSAFE
|
||||
################################################################################
|
||||
|
||||
param set-default NPFG_PERIOD 55.0
|
||||
param set-default NPFG_DAMPING 1.00
|
||||
param set-default NPFG_ROLL_TC 2.4
|
||||
param set-default NPFG_SW_DST_MLT 0.70
|
||||
param set-default NAV_ACC_RAD 120
|
||||
param set-default NAV_FW_ALT_RAD 40
|
||||
param set-default NAV_MC_ALT_RAD 2
|
||||
param set-default NAV_LOITER_RAD 1300
|
||||
param set-default RTL_LOITER_RAD 1300
|
||||
param set-default RTL_RETURN_ALT 180
|
||||
param set-default RTL_DESCEND_ALT 150
|
||||
param set-default RTL_MIN_DIST 50
|
||||
|
||||
param set-default FD_FAIL_R 85
|
||||
param set-default FD_FAIL_P 85
|
||||
param set-default FD_FAIL_R_TTRI 1.0
|
||||
param set-default FD_FAIL_P_TTRI 1.0
|
||||
param set-default WV_EN 0
|
||||
|
||||
################################################################################
|
||||
# END OF FILE
|
||||
################################################################################
|
||||
@@ -89,6 +89,12 @@ px4_add_romfs_files(
|
||||
4020_gz_tiltrotor
|
||||
4021_gz_x500_flow
|
||||
|
||||
5001_xplane_cessna172
|
||||
5002_xplane_tb2
|
||||
5010_xplane_ehang184
|
||||
5020_xplane_alia250
|
||||
5021_xplane_qtailsitter
|
||||
|
||||
6011_gazebo-classic_typhoon_h480
|
||||
6011_gazebo-classic_typhoon_h480.post
|
||||
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
#!/bin/sh
|
||||
# shellcheck disable=SC2154
|
||||
|
||||
# EKF2 specifics
|
||||
param set-default SENS_GPS0_DELAY 10
|
||||
param set-default SENS_GPS1_DELAY 10
|
||||
param set-default EKF2_MULTI_IMU 3
|
||||
param set-default SENS_IMU_MODE 0
|
||||
# EKF2 specifics. X-Plane targets tune these in their airframe files because
|
||||
# the bridge sensor timing and IMU topology differ from the classic mavlink
|
||||
# simulator defaults.
|
||||
if [ "$PX4_SIMULATOR" != "xplane" ]; then
|
||||
param set-default SENS_GPS0_DELAY 10
|
||||
param set-default SENS_GPS1_DELAY 10
|
||||
param set-default EKF2_MULTI_IMU 3
|
||||
param set-default SENS_IMU_MODE 0
|
||||
fi
|
||||
|
||||
simulator_tcp_port=$((4560+px4_instance))
|
||||
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
#!/bin/sh
|
||||
# shellcheck disable=SC2154
|
||||
|
||||
# Simulator IMU data provided at 250 Hz
|
||||
param set-default IMU_INTEG_RATE 250
|
||||
# Most mavlink simulator models provide IMU data at 250 Hz. X-Plane airframes
|
||||
# set their own bridge cadence in the airframe file.
|
||||
if [ "$PX4_SIMULATOR" != "xplane" ]; then
|
||||
param set-default IMU_INTEG_RATE 250
|
||||
fi
|
||||
|
||||
# For simulation, allow registering modes while armed for developer convenience
|
||||
param set-default COM_MODE_ARM_CHK 1
|
||||
@@ -24,6 +27,10 @@ elif [ "$PX4_SIM_MODEL" = "jmavsim_iris" ] || [ "$(param show -q SYS_AUTOSTART)"
|
||||
# Run jMAVSim
|
||||
. px4-rc.jmavsim
|
||||
|
||||
elif [ "$PX4_SIMULATOR" = "xplane" ]; then
|
||||
# Run X-Plane through the mavlink simulator bridge
|
||||
. px4-rc.mavlinksim
|
||||
|
||||
else
|
||||
# Run simulator_mavlink module for interface with gazebo-classic
|
||||
. px4-rc.mavlinksim
|
||||
|
||||
Reference in New Issue
Block a user