mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-18 06:13:35 +08:00
Before #14212 the velocity control gains used in the multicopter position controller were defined as a scale between velocity error in one axis (or it's integral and derivative respectively) and the unit thrust vector. The problem with this is that the normalization of the unit thrust vector changes per vehicle or even vehicle configuration as 0 and 100% thrust get a different physical response. That's why the gains are now defined as scale between velocity error (integral/derivative) and the output acceleration in m/s².
211 lines
5.1 KiB
Bash
211 lines
5.1 KiB
Bash
#!/bin/sh
|
|
#
|
|
# @name Teal One
|
|
#
|
|
# @type Quadrotor x
|
|
# @class Copter
|
|
#
|
|
# @output MAIN1 motor 1
|
|
# @output MAIN2 motor 2
|
|
# @output MAIN3 motor 3
|
|
# @output MAIN4 motor 4
|
|
#
|
|
# @maintainer Matt McFadden <matt.mcfadden@tealdrones.com>
|
|
#
|
|
# @board px4_fmu-v2 exclude
|
|
# @board px4_fmu-v3 exclude
|
|
# @board px4_fmu-v4pro exclude
|
|
# @board px4_fmu-v5 exclude
|
|
# @board px4_fmu-v5x exclude
|
|
# @board intel_aerofc-v1 exclude
|
|
# @board bitcraze_crazyflie exclude
|
|
#
|
|
|
|
echo "Executing 4250_teal script."
|
|
|
|
sh /etc/init.d/rc.mc_defaults
|
|
|
|
set MIXER quad_x
|
|
set PWM_OUT 1234
|
|
|
|
if [ $AUTOCNF = yes ]
|
|
then
|
|
# First thing, reset all params to default... EXCEPT THIS LIST
|
|
param reset_nostart RC* COM_FLTMODE* LND_FLIGHT_T_* TC_* CAL_ACC* CAL_GYRO* CAL_MAG* SENS_BOARD* EKF2_MAGBIAS*
|
|
|
|
# battery
|
|
param set BAT_CAPACITY 2750
|
|
param set BAT_CRIT_THR 0.15
|
|
param set BAT_EMERGEN_THR 0.075
|
|
param set BAT_LOW_THR 0.20
|
|
param set BAT_N_CELLS 4
|
|
param set BAT_R_INTERNAL 0.06
|
|
param set BAT_SOURCE 1
|
|
param set BAT_V_CHARGED 4.15
|
|
param set BAT_V_DIV 11.1625
|
|
param set BAT_V_EMPTY 3.65
|
|
param set BAT_V_OFFS_CURR -0.0045
|
|
|
|
# sensor calibration
|
|
param set CAL_MAG_SIDES 63
|
|
param set SENS_BOARD_ROT 0
|
|
param set COM_ARM_MAG_ANG -1
|
|
param set COM_ARM_EKF_AB 0.0032
|
|
|
|
# circuit breakers
|
|
param set CBRK_IO_SAFETY 22027
|
|
param set CBRK_USB_CHK 197848
|
|
|
|
# commander
|
|
param set COM_DISARM_LAND 0.1
|
|
# Return mode at critically low level, Land mode at current position if reaching dangerously low levels.
|
|
param set COM_LOW_BAT_ACT 3
|
|
|
|
# ekf2
|
|
param set EKF2_AID_MASK 1
|
|
param set EKF2_MAG_TYPE 1
|
|
param set EKF2_GPS_CHECK 511
|
|
param set EKF2_GPS_POS_X -0.04
|
|
param set EKF2_IMU_POS_X -0.06
|
|
param set EKF2_PCOEF_XN 0.1
|
|
param set EKF2_PCOEF_XP -0.5
|
|
param set EKF2_RNG_AID 1
|
|
param set EKF2_RNG_A_VMAX 20
|
|
param set EKF2_RNG_NOISE 0.2
|
|
param set EKF2_MIN_RNG 0.07
|
|
|
|
# gps
|
|
param set GPS_UBX_DYNMODEL 7
|
|
|
|
# geofence
|
|
# Geofence violation action -- Warning.
|
|
param set GF_ACTION 1
|
|
|
|
# land detector
|
|
param set LNDMC_XY_VEL_MAX 1
|
|
# This is set high because we have lots of vibrations while in contact with ground.
|
|
param set LNDMC_ROT_MAX 50
|
|
|
|
# serial comms
|
|
param set SER_TEL1_BAUD 921600
|
|
param set SER_TEL2_BAUD 921600
|
|
|
|
# mavlink stream configuration
|
|
# TEL1 ttyS1 -- disabled. TX1 FTDI UART has issues.
|
|
param set MAV_0_CONFIG 0
|
|
param set MAV_0_RATE 800000
|
|
|
|
# TEL2 ttyS2 -- Primary MAVLINK stream to companion computer.
|
|
param set MAV_1_CONFIG 102
|
|
param set MAV_1_RATE 800000
|
|
|
|
# mc_att_control
|
|
param set MC_ACRO_P_MAX 360
|
|
param set MC_ACRO_R_MAX 360
|
|
param set MC_ACRO_Y_MAX 360
|
|
|
|
param set MC_ROLL_P 6
|
|
param set MC_ROLLRATE_P 0.055
|
|
param set MC_ROLLRATE_I 0.2
|
|
param set MC_ROLLRATE_D 0.0012
|
|
param set MC_ROLLRATE_MAX 180
|
|
|
|
param set MC_PITCH_P 6.5
|
|
param set MC_PITCHRATE_P 0.06
|
|
param set MC_PITCHRATE_I 0.2
|
|
param set MC_PITCHRATE_D 0.0012
|
|
param set MC_PITCHRATE_MAX 180
|
|
|
|
param set MC_YAW_P 1
|
|
param set MC_YAWRATE_P 0.08
|
|
param set MC_YAWRATE_I 0.08
|
|
param set MC_YAWRATE_D 0
|
|
param set MC_YAWRATE_MAX 180
|
|
|
|
# Set to reduce voltage transients as seen by battery management system.
|
|
param set MOT_SLEW_MAX 0.15
|
|
|
|
#### CONTROLLER ###
|
|
param set MPC_LAND_ALT1 8
|
|
param set MPC_LAND_ALT2 5
|
|
param set MPC_TKO_RAMP_T 0.75
|
|
param set MPC_TKO_SPEED 0.75
|
|
param set MPC_TILTMAX_LND 18
|
|
param set MPC_TILTMAX_AIR 45
|
|
param set MPC_MAN_TILT_MAX 45
|
|
|
|
param set MPC_MANTHR_MAX 0.85
|
|
param set MPC_MANTHR_MIN 0.15
|
|
# Full throttle can trip over current protection on BMS.
|
|
param set MPC_THR_MAX 0.85
|
|
param set MPC_THR_MIN 0.15
|
|
|
|
param set MPC_VEL_MANUAL 26.5
|
|
# RTL speed, it was too fast and scaring people.
|
|
param set MPC_XY_CRUISE 15
|
|
|
|
param set MPC_MAN_Y_MAX 200
|
|
|
|
param set MPC_JERK_MAX 5
|
|
param set MPC_ACC_UP_MAX 10
|
|
param set MPC_ACC_DOWN_MAX 10
|
|
param set MPC_ACC_HOR 10
|
|
param set MPC_ACC_HOR_MAX 15
|
|
|
|
param set MPC_XY_P 1.15
|
|
param set MPC_XY_VEL_P_ACC 2.8
|
|
param set MPC_XY_VEL_I_ACC 0.28
|
|
param set MPC_XY_VEL_D_ACC 0.28
|
|
param set MPC_XY_VEL_MAX 26.5
|
|
|
|
param set MPC_Z_P 0.85
|
|
param set MPC_Z_VEL_P_ACC 5
|
|
param set MPC_Z_VEL_I_ACC 1.7
|
|
param set MPC_Z_VEL_D_ACC 0.4
|
|
# Documentation says limit is 8.0, but does not seem to be enforced in code.
|
|
param set MPC_Z_VEL_MAX_UP 20
|
|
param set MPC_Z_VEL_MAX_DN 2.5
|
|
#### CONTROLLER ###
|
|
|
|
# navigator
|
|
param set NAV_ACC_RAD 2.5
|
|
# RC loss failsafe behavior -- hold mode.
|
|
param set NAV_RCL_ACT 1
|
|
|
|
# pwm control
|
|
param set PWM_DISARMED 900
|
|
param set PWM_MAX 1850
|
|
param set PWM_MIN 1075
|
|
# Oneshot125
|
|
param set PWM_RATE 0
|
|
|
|
# rtl
|
|
param set RTL_DESCEND_ALT 5
|
|
param set RTL_LAND_DELAY 5
|
|
param set RTL_MIN_DIST 7.5
|
|
param set RTL_RETURN_ALT 25
|
|
|
|
# calibration
|
|
param set CAL_ACC0_EN 1
|
|
param set CAL_ACC1_EN 0
|
|
#mpu6500
|
|
param set CAL_ACC_PRIME 1442826
|
|
|
|
param set CAL_GYRO0_EN 1
|
|
param set CAL_GYRO1_EN 0
|
|
#mpu6500
|
|
param set CAL_GYRO_PRIME 2360330
|
|
|
|
param set CAL_MAG_PRIME 265738
|
|
fi
|
|
|
|
# Logger mode. Default(1) + estimator replay(2) + thermal calibration(4)
|
|
param set SDLOG_PROFILE 6
|
|
|
|
# Do not start frsky_telemetry on port ttyS6 by default, PGA460 lives there. 500 is in arbitrary unused number.
|
|
param set TEL_FRSKY_CONFIG 500
|
|
# We want to make sure these always start
|
|
param set SENS_EN_PGA460 1
|
|
param set SENS_EN_THERMAL 1
|
|
param set SENS_EN_BATT 1
|