|
|
|
@ -45,6 +45,7 @@
@@ -45,6 +45,7 @@
|
|
|
|
|
* |
|
|
|
|
* @min 0.05 |
|
|
|
|
* @max 1.0 |
|
|
|
|
* @decimal 3 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_THR_MIN, 0.12f); |
|
|
|
@ -59,6 +60,7 @@ PARAM_DEFINE_FLOAT(MPC_THR_MIN, 0.12f);
@@ -59,6 +60,7 @@ PARAM_DEFINE_FLOAT(MPC_THR_MIN, 0.12f);
|
|
|
|
|
* |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @max 0.95 |
|
|
|
|
* @decimal 2 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_THR_MAX, 0.9f); |
|
|
|
@ -70,6 +72,7 @@ PARAM_DEFINE_FLOAT(MPC_THR_MAX, 0.9f);
@@ -70,6 +72,7 @@ PARAM_DEFINE_FLOAT(MPC_THR_MAX, 0.9f);
|
|
|
|
|
* |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @max 1.0 |
|
|
|
|
* @decimal 3 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_MANTHR_MIN, 0.08f); |
|
|
|
@ -84,6 +87,7 @@ PARAM_DEFINE_FLOAT(MPC_MANTHR_MIN, 0.08f);
@@ -84,6 +87,7 @@ PARAM_DEFINE_FLOAT(MPC_MANTHR_MIN, 0.08f);
|
|
|
|
|
* |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @max 1.0 |
|
|
|
|
* @decimal 2 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_MANTHR_MAX, 0.9f); |
|
|
|
@ -92,6 +96,7 @@ PARAM_DEFINE_FLOAT(MPC_MANTHR_MAX, 0.9f);
@@ -92,6 +96,7 @@ PARAM_DEFINE_FLOAT(MPC_MANTHR_MAX, 0.9f);
|
|
|
|
|
* Proportional gain for vertical position error |
|
|
|
|
* |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @decimal 2 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_Z_P, 1.0f); |
|
|
|
@ -100,6 +105,7 @@ PARAM_DEFINE_FLOAT(MPC_Z_P, 1.0f);
@@ -100,6 +105,7 @@ PARAM_DEFINE_FLOAT(MPC_Z_P, 1.0f);
|
|
|
|
|
* Proportional gain for vertical velocity error |
|
|
|
|
* |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @decimal 2 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_Z_VEL_P, 0.2f); |
|
|
|
@ -110,6 +116,7 @@ PARAM_DEFINE_FLOAT(MPC_Z_VEL_P, 0.2f);
@@ -110,6 +116,7 @@ PARAM_DEFINE_FLOAT(MPC_Z_VEL_P, 0.2f);
|
|
|
|
|
* Non zero value allows hovering thrust estimation on stabilized or autonomous takeoff. |
|
|
|
|
* |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @decimal 3 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_Z_VEL_I, 0.02f); |
|
|
|
@ -118,6 +125,7 @@ PARAM_DEFINE_FLOAT(MPC_Z_VEL_I, 0.02f);
@@ -118,6 +125,7 @@ PARAM_DEFINE_FLOAT(MPC_Z_VEL_I, 0.02f);
|
|
|
|
|
* Differential gain for vertical velocity error |
|
|
|
|
* |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @decimal 3 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_Z_VEL_D, 0.0f); |
|
|
|
@ -130,6 +138,7 @@ PARAM_DEFINE_FLOAT(MPC_Z_VEL_D, 0.0f);
@@ -130,6 +138,7 @@ PARAM_DEFINE_FLOAT(MPC_Z_VEL_D, 0.0f);
|
|
|
|
|
* @unit m/s |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @max 8.0 |
|
|
|
|
* @decimal 1 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_Z_VEL_MAX, 3.0f); |
|
|
|
@ -141,6 +150,7 @@ PARAM_DEFINE_FLOAT(MPC_Z_VEL_MAX, 3.0f);
@@ -141,6 +150,7 @@ PARAM_DEFINE_FLOAT(MPC_Z_VEL_MAX, 3.0f);
|
|
|
|
|
* |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @max 1.0 |
|
|
|
|
* @decimal 2 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_Z_FF, 0.5f); |
|
|
|
@ -149,6 +159,7 @@ PARAM_DEFINE_FLOAT(MPC_Z_FF, 0.5f);
@@ -149,6 +159,7 @@ PARAM_DEFINE_FLOAT(MPC_Z_FF, 0.5f);
|
|
|
|
|
* Proportional gain for horizontal position error |
|
|
|
|
* |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @decimal 2 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_XY_P, 1.0f); |
|
|
|
@ -157,6 +168,7 @@ PARAM_DEFINE_FLOAT(MPC_XY_P, 1.0f);
@@ -157,6 +168,7 @@ PARAM_DEFINE_FLOAT(MPC_XY_P, 1.0f);
|
|
|
|
|
* Proportional gain for horizontal velocity error |
|
|
|
|
* |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @decimal 2 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_XY_VEL_P, 0.1f); |
|
|
|
@ -167,6 +179,7 @@ PARAM_DEFINE_FLOAT(MPC_XY_VEL_P, 0.1f);
@@ -167,6 +179,7 @@ PARAM_DEFINE_FLOAT(MPC_XY_VEL_P, 0.1f);
|
|
|
|
|
* Non-zero value allows to resist wind. |
|
|
|
|
* |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @decimal 3 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_XY_VEL_I, 0.02f); |
|
|
|
@ -175,6 +188,7 @@ PARAM_DEFINE_FLOAT(MPC_XY_VEL_I, 0.02f);
@@ -175,6 +188,7 @@ PARAM_DEFINE_FLOAT(MPC_XY_VEL_I, 0.02f);
|
|
|
|
|
* Differential gain for horizontal velocity error. Small values help reduce fast oscillations. If value is too big oscillations will appear again. |
|
|
|
|
* |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @decimal 3 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_XY_VEL_D, 0.01f); |
|
|
|
@ -186,6 +200,7 @@ PARAM_DEFINE_FLOAT(MPC_XY_VEL_D, 0.01f);
@@ -186,6 +200,7 @@ PARAM_DEFINE_FLOAT(MPC_XY_VEL_D, 0.01f);
|
|
|
|
|
* |
|
|
|
|
* @unit m/s |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @decimal 2 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_XY_VEL_MAX, 5.0f); |
|
|
|
@ -197,6 +212,7 @@ PARAM_DEFINE_FLOAT(MPC_XY_VEL_MAX, 5.0f);
@@ -197,6 +212,7 @@ PARAM_DEFINE_FLOAT(MPC_XY_VEL_MAX, 5.0f);
|
|
|
|
|
* |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @max 1.0 |
|
|
|
|
* @decimal 2 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_XY_FF, 0.5f); |
|
|
|
@ -209,6 +225,7 @@ PARAM_DEFINE_FLOAT(MPC_XY_FF, 0.5f);
@@ -209,6 +225,7 @@ PARAM_DEFINE_FLOAT(MPC_XY_FF, 0.5f);
|
|
|
|
|
* @unit degree |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @max 90.0 |
|
|
|
|
* @decimal 1 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_TILTMAX_AIR, 45.0f); |
|
|
|
@ -221,6 +238,7 @@ PARAM_DEFINE_FLOAT(MPC_TILTMAX_AIR, 45.0f);
@@ -221,6 +238,7 @@ PARAM_DEFINE_FLOAT(MPC_TILTMAX_AIR, 45.0f);
|
|
|
|
|
* @unit degree |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @max 90.0 |
|
|
|
|
* @decimal 1 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_TILTMAX_LND, 12.0f); |
|
|
|
@ -230,6 +248,7 @@ PARAM_DEFINE_FLOAT(MPC_TILTMAX_LND, 12.0f);
@@ -230,6 +248,7 @@ PARAM_DEFINE_FLOAT(MPC_TILTMAX_LND, 12.0f);
|
|
|
|
|
* |
|
|
|
|
* @unit m/s |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @decimal 1 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_LAND_SPEED, 0.5f); |
|
|
|
@ -239,6 +258,7 @@ PARAM_DEFINE_FLOAT(MPC_LAND_SPEED, 0.5f);
@@ -239,6 +258,7 @@ PARAM_DEFINE_FLOAT(MPC_LAND_SPEED, 0.5f);
|
|
|
|
|
* |
|
|
|
|
* @unit m/s |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @decimal 2 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_TKO_SPEED, 1.5f); |
|
|
|
@ -249,6 +269,7 @@ PARAM_DEFINE_FLOAT(MPC_TKO_SPEED, 1.5f);
@@ -249,6 +269,7 @@ PARAM_DEFINE_FLOAT(MPC_TKO_SPEED, 1.5f);
|
|
|
|
|
* @unit degree |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @max 90.0 |
|
|
|
|
* @decimal 1 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_MAN_R_MAX, 35.0f); |
|
|
|
@ -259,6 +280,7 @@ PARAM_DEFINE_FLOAT(MPC_MAN_R_MAX, 35.0f);
@@ -259,6 +280,7 @@ PARAM_DEFINE_FLOAT(MPC_MAN_R_MAX, 35.0f);
|
|
|
|
|
* @unit degree |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @max 90.0 |
|
|
|
|
* @decimal 1 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_MAN_P_MAX, 35.0f); |
|
|
|
@ -268,6 +290,7 @@ PARAM_DEFINE_FLOAT(MPC_MAN_P_MAX, 35.0f);
@@ -268,6 +290,7 @@ PARAM_DEFINE_FLOAT(MPC_MAN_P_MAX, 35.0f);
|
|
|
|
|
* |
|
|
|
|
* @unit degree / s |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @decimal 1 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_MAN_Y_MAX, 120.0f); |
|
|
|
@ -278,6 +301,7 @@ PARAM_DEFINE_FLOAT(MPC_MAN_Y_MAX, 120.0f);
@@ -278,6 +301,7 @@ PARAM_DEFINE_FLOAT(MPC_MAN_Y_MAX, 120.0f);
|
|
|
|
|
* @unit % |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @max 1.0 |
|
|
|
|
* @decimal 2 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_HOLD_XY_DZ, 0.1f); |
|
|
|
@ -288,6 +312,7 @@ PARAM_DEFINE_FLOAT(MPC_HOLD_XY_DZ, 0.1f);
@@ -288,6 +312,7 @@ PARAM_DEFINE_FLOAT(MPC_HOLD_XY_DZ, 0.1f);
|
|
|
|
|
* @unit % |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @max 1.0 |
|
|
|
|
* @decimal 2 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_HOLD_Z_DZ, 0.1f); |
|
|
|
@ -297,6 +322,7 @@ PARAM_DEFINE_FLOAT(MPC_HOLD_Z_DZ, 0.1f);
@@ -297,6 +322,7 @@ PARAM_DEFINE_FLOAT(MPC_HOLD_Z_DZ, 0.1f);
|
|
|
|
|
* |
|
|
|
|
* @unit m/s |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @decimal 2 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_HOLD_MAX_XY, 0.5f); |
|
|
|
@ -306,6 +332,7 @@ PARAM_DEFINE_FLOAT(MPC_HOLD_MAX_XY, 0.5f);
@@ -306,6 +332,7 @@ PARAM_DEFINE_FLOAT(MPC_HOLD_MAX_XY, 0.5f);
|
|
|
|
|
* |
|
|
|
|
* @unit m/s |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @decimal 2 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_HOLD_MAX_Z, 0.5f); |
|
|
|
@ -315,6 +342,7 @@ PARAM_DEFINE_FLOAT(MPC_HOLD_MAX_Z, 0.5f);
@@ -315,6 +342,7 @@ PARAM_DEFINE_FLOAT(MPC_HOLD_MAX_Z, 0.5f);
|
|
|
|
|
* |
|
|
|
|
* @unit Hz |
|
|
|
|
* @min 0.0 |
|
|
|
|
* @decimal 2 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_VELD_LP, 5.0f); |
|
|
|
@ -325,6 +353,7 @@ PARAM_DEFINE_FLOAT(MPC_VELD_LP, 5.0f);
@@ -325,6 +353,7 @@ PARAM_DEFINE_FLOAT(MPC_VELD_LP, 5.0f);
|
|
|
|
|
* @unit m/s/s |
|
|
|
|
* @min 2.0 |
|
|
|
|
* @max 10.0 |
|
|
|
|
* @decimal 2 |
|
|
|
|
* @group Multicopter Position Control |
|
|
|
|
*/ |
|
|
|
|
PARAM_DEFINE_FLOAT(MPC_ACC_HOR_MAX, 4.0f); |
|
|
|
|