aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Gubler <thomasgubler@gmail.com>2014-06-11 19:51:33 +0200
committerThomas Gubler <thomasgubler@gmail.com>2014-06-11 19:51:33 +0200
commit7fa5458bc619df427fc29283ff5ff32b933f2906 (patch)
tree5a22ee45be01c4f0ee8f3572ad5bd5e0dcfbb817
parente548eeb5890d3691514c7a2ff67be75136c1c557 (diff)
downloadpx4-firmware-7fa5458bc619df427fc29283ff5ff32b933f2906.tar.gz
px4-firmware-7fa5458bc619df427fc29283ff5ff32b933f2906.tar.bz2
px4-firmware-7fa5458bc619df427fc29283ff5ff32b933f2906.zip
mtecs: add D gain for speed outer loop
-rw-r--r--src/modules/fw_pos_control_l1/mtecs/mTecs.h4
-rw-r--r--src/modules/fw_pos_control_l1/mtecs/mTecs_params.c17
2 files changed, 19 insertions, 2 deletions
diff --git a/src/modules/fw_pos_control_l1/mtecs/mTecs.h b/src/modules/fw_pos_control_l1/mtecs/mTecs.h
index ddd6583e8..346acfaf3 100644
--- a/src/modules/fw_pos_control_l1/mtecs/mTecs.h
+++ b/src/modules/fw_pos_control_l1/mtecs/mTecs.h
@@ -160,8 +160,8 @@ protected:
/* control blocks */
BlockFFPILimitedCustom _controlTotalEnergy; /**< FFPI controller for total energy control: output is throttle */
BlockFFPILimitedCustom _controlEnergyDistribution; /**< FFPI controller for energy distribution control: output is pitch */
- BlockPDLimited _controlAltitude; /**< P controller for altitude: output is the flight path angle setpoint */
- BlockPLimited _controlAirSpeed; /**< P controller for airspeed: output is acceleration setpoint */
+ BlockPDLimited _controlAltitude; /**< PD controller for altitude: output is the flight path angle setpoint */
+ BlockPDLimited _controlAirSpeed; /**< PD controller for airspeed: output is acceleration setpoint */
/* Other calculation Blocks */
control::BlockDerivative _airspeedDerivative;
diff --git a/src/modules/fw_pos_control_l1/mtecs/mTecs_params.c b/src/modules/fw_pos_control_l1/mtecs/mTecs_params.c
index 39514b223..6165611b9 100644
--- a/src/modules/fw_pos_control_l1/mtecs/mTecs_params.c
+++ b/src/modules/fw_pos_control_l1/mtecs/mTecs_params.c
@@ -234,6 +234,23 @@ PARAM_DEFINE_FLOAT(MT_FPA_MAX, 30.0f);
PARAM_DEFINE_FLOAT(MT_ACC_P, 1.5f);
/**
+ * D gain for the airspeed control
+ * Maps the change of airspeed error to the acceleration setpoint
+ *
+ * @min 0.0f
+ * @max 10.0f
+ * @group mTECS
+ */
+PARAM_DEFINE_FLOAT(MT_ACC_D, 0.0f);
+
+/**
+ * Lowpass for ACC error derivative calculation (see MT_ACC_D)
+ *
+ * @group mTECS
+ */
+PARAM_DEFINE_FLOAT(MT_ACC_D_LP, 1.0f);
+
+/**
* Minimal acceleration (air)
*
* @unit m/s^2