Merge branch 'master' into beta

This commit is contained in:
Lorenz Meier
2015-05-13 15:19:51 +02:00
7 changed files with 115 additions and 113 deletions
@@ -75,23 +75,23 @@ MulticopterAttitudeControl::MulticopterAttitudeControl() :
/* parameters */ /* parameters */
_params_handles({ _params_handles({
.roll_p = px4::ParameterFloat("MC_ROLL_P", PARAM_MC_ROLL_P_DEFAULT), .roll_p = px4::ParameterFloat("MP_ROLL_P", PARAM_MP_ROLL_P_DEFAULT),
.roll_rate_p = px4::ParameterFloat("MC_ROLLRATE_P", PARAM_MC_ROLLRATE_P_DEFAULT), .roll_rate_p = px4::ParameterFloat("MP_ROLLRATE_P", PARAM_MP_ROLLRATE_P_DEFAULT),
.roll_rate_i = px4::ParameterFloat("MC_ROLLRATE_I", PARAM_MC_ROLLRATE_I_DEFAULT), .roll_rate_i = px4::ParameterFloat("MP_ROLLRATE_I", PARAM_MP_ROLLRATE_I_DEFAULT),
.roll_rate_d = px4::ParameterFloat("MC_ROLLRATE_D", PARAM_MC_ROLLRATE_D_DEFAULT), .roll_rate_d = px4::ParameterFloat("MP_ROLLRATE_D", PARAM_MP_ROLLRATE_D_DEFAULT),
.pitch_p = px4::ParameterFloat("MC_PITCH_P", PARAM_MC_PITCH_P_DEFAULT), .pitch_p = px4::ParameterFloat("MP_PITCH_P", PARAM_MP_PITCH_P_DEFAULT),
.pitch_rate_p = px4::ParameterFloat("MC_PITCHRATE_P", PARAM_MC_PITCHRATE_P_DEFAULT), .pitch_rate_p = px4::ParameterFloat("MP_PITCHRATE_P", PARAM_MP_PITCHRATE_P_DEFAULT),
.pitch_rate_i = px4::ParameterFloat("MC_PITCHRATE_I", PARAM_MC_PITCHRATE_I_DEFAULT), .pitch_rate_i = px4::ParameterFloat("MP_PITCHRATE_I", PARAM_MP_PITCHRATE_I_DEFAULT),
.pitch_rate_d = px4::ParameterFloat("MC_PITCHRATE_D", PARAM_MC_PITCHRATE_D_DEFAULT), .pitch_rate_d = px4::ParameterFloat("MP_PITCHRATE_D", PARAM_MP_PITCHRATE_D_DEFAULT),
.yaw_p = px4::ParameterFloat("MC_YAW_P", PARAM_MC_YAW_P_DEFAULT), .yaw_p = px4::ParameterFloat("MP_YAW_P", PARAM_MP_YAW_P_DEFAULT),
.yaw_rate_p = px4::ParameterFloat("MC_YAWRATE_P", PARAM_MC_YAWRATE_P_DEFAULT), .yaw_rate_p = px4::ParameterFloat("MP_YAWRATE_P", PARAM_MP_YAWRATE_P_DEFAULT),
.yaw_rate_i = px4::ParameterFloat("MC_YAWRATE_I", PARAM_MC_YAWRATE_I_DEFAULT), .yaw_rate_i = px4::ParameterFloat("MP_YAWRATE_I", PARAM_MP_YAWRATE_I_DEFAULT),
.yaw_rate_d = px4::ParameterFloat("MC_YAWRATE_D", PARAM_MC_YAWRATE_D_DEFAULT), .yaw_rate_d = px4::ParameterFloat("MP_YAWRATE_D", PARAM_MP_YAWRATE_D_DEFAULT),
.yaw_ff = px4::ParameterFloat("MC_YAW_FF", PARAM_MC_YAW_FF_DEFAULT), .yaw_ff = px4::ParameterFloat("MP_YAW_FF", PARAM_MP_YAW_FF_DEFAULT),
.yaw_rate_max = px4::ParameterFloat("MC_YAWRATE_MAX", PARAM_MC_YAWRATE_MAX_DEFAULT), .yaw_rate_max = px4::ParameterFloat("MP_YAWRATE_MAX", PARAM_MP_YAWRATE_MAX_DEFAULT),
.acro_roll_max = px4::ParameterFloat("MC_ACRO_R_MAX", PARAM_MC_ACRO_R_MAX_DEFAULT), .acro_roll_max = px4::ParameterFloat("MP_ACRO_R_MAX", PARAM_MP_ACRO_R_MAX_DEFAULT),
.acro_pitch_max = px4::ParameterFloat("MC_ACRO_P_MAX", PARAM_MC_ACRO_P_MAX_DEFAULT), .acro_pitch_max = px4::ParameterFloat("MP_ACRO_P_MAX", PARAM_MP_ACRO_P_MAX_DEFAULT),
.acro_yaw_max = px4::ParameterFloat("MC_ACRO_Y_MAX", PARAM_MC_ACRO_Y_MAX_DEFAULT) .acro_yaw_max = px4::ParameterFloat("MP_ACRO_Y_MAX", PARAM_MP_ACRO_Y_MAX_DEFAULT)
}), }),
/* performance counters */ /* performance counters */
@@ -52,7 +52,7 @@
* @min 0.0 * @min 0.0
* @group Multicopter Attitude Control * @group Multicopter Attitude Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MC_ROLL_P); PX4_PARAM_DEFINE_FLOAT(MP_ROLL_P);
/** /**
* Roll rate P gain * Roll rate P gain
@@ -62,7 +62,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_ROLL_P);
* @min 0.0 * @min 0.0
* @group Multicopter Attitude Control * @group Multicopter Attitude Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MC_ROLLRATE_P); PX4_PARAM_DEFINE_FLOAT(MP_ROLLRATE_P);
/** /**
* Roll rate I gain * Roll rate I gain
@@ -72,7 +72,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_ROLLRATE_P);
* @min 0.0 * @min 0.0
* @group Multicopter Attitude Control * @group Multicopter Attitude Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MC_ROLLRATE_I); PX4_PARAM_DEFINE_FLOAT(MP_ROLLRATE_I);
/** /**
* Roll rate D gain * Roll rate D gain
@@ -82,7 +82,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_ROLLRATE_I);
* @min 0.0 * @min 0.0
* @group Multicopter Attitude Control * @group Multicopter Attitude Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MC_ROLLRATE_D); PX4_PARAM_DEFINE_FLOAT(MP_ROLLRATE_D);
/** /**
* Pitch P gain * Pitch P gain
@@ -93,7 +93,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_ROLLRATE_D);
* @min 0.0 * @min 0.0
* @group Multicopter Attitude Control * @group Multicopter Attitude Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MC_PITCH_P); PX4_PARAM_DEFINE_FLOAT(MP_PITCH_P);
/** /**
* Pitch rate P gain * Pitch rate P gain
@@ -103,7 +103,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_PITCH_P);
* @min 0.0 * @min 0.0
* @group Multicopter Attitude Control * @group Multicopter Attitude Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MC_PITCHRATE_P); PX4_PARAM_DEFINE_FLOAT(MP_PITCHRATE_P);
/** /**
* Pitch rate I gain * Pitch rate I gain
@@ -113,7 +113,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_PITCHRATE_P);
* @min 0.0 * @min 0.0
* @group Multicopter Attitude Control * @group Multicopter Attitude Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MC_PITCHRATE_I); PX4_PARAM_DEFINE_FLOAT(MP_PITCHRATE_I);
/** /**
* Pitch rate D gain * Pitch rate D gain
@@ -123,7 +123,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_PITCHRATE_I);
* @min 0.0 * @min 0.0
* @group Multicopter Attitude Control * @group Multicopter Attitude Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MC_PITCHRATE_D); PX4_PARAM_DEFINE_FLOAT(MP_PITCHRATE_D);
/** /**
* Yaw P gain * Yaw P gain
@@ -134,7 +134,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_PITCHRATE_D);
* @min 0.0 * @min 0.0
* @group Multicopter Attitude Control * @group Multicopter Attitude Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MC_YAW_P); PX4_PARAM_DEFINE_FLOAT(MP_YAW_P);
/** /**
* Yaw rate P gain * Yaw rate P gain
@@ -144,7 +144,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_YAW_P);
* @min 0.0 * @min 0.0
* @group Multicopter Attitude Control * @group Multicopter Attitude Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MC_YAWRATE_P); PX4_PARAM_DEFINE_FLOAT(MP_YAWRATE_P);
/** /**
* Yaw rate I gain * Yaw rate I gain
@@ -154,7 +154,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_YAWRATE_P);
* @min 0.0 * @min 0.0
* @group Multicopter Attitude Control * @group Multicopter Attitude Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MC_YAWRATE_I); PX4_PARAM_DEFINE_FLOAT(MP_YAWRATE_I);
/** /**
* Yaw rate D gain * Yaw rate D gain
@@ -164,7 +164,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_YAWRATE_I);
* @min 0.0 * @min 0.0
* @group Multicopter Attitude Control * @group Multicopter Attitude Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MC_YAWRATE_D); PX4_PARAM_DEFINE_FLOAT(MP_YAWRATE_D);
/** /**
* Yaw feed forward * Yaw feed forward
@@ -175,7 +175,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_YAWRATE_D);
* @max 1.0 * @max 1.0
* @group Multicopter Attitude Control * @group Multicopter Attitude Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MC_YAW_FF); PX4_PARAM_DEFINE_FLOAT(MP_YAW_FF);
/** /**
* Max yaw rate * Max yaw rate
@@ -187,7 +187,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_YAW_FF);
* @max 360.0 * @max 360.0
* @group Multicopter Attitude Control * @group Multicopter Attitude Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MC_YAWRATE_MAX); PX4_PARAM_DEFINE_FLOAT(MP_YAWRATE_MAX);
/** /**
* Max acro roll rate * Max acro roll rate
@@ -197,7 +197,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_YAWRATE_MAX);
* @max 360.0 * @max 360.0
* @group Multicopter Attitude Control * @group Multicopter Attitude Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MC_ACRO_R_MAX); PX4_PARAM_DEFINE_FLOAT(MP_ACRO_R_MAX);
/** /**
* Max acro pitch rate * Max acro pitch rate
@@ -207,7 +207,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_ACRO_R_MAX);
* @max 360.0 * @max 360.0
* @group Multicopter Attitude Control * @group Multicopter Attitude Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MC_ACRO_P_MAX); PX4_PARAM_DEFINE_FLOAT(MP_ACRO_P_MAX);
/** /**
* Max acro yaw rate * Max acro yaw rate
@@ -216,4 +216,4 @@ PX4_PARAM_DEFINE_FLOAT(MC_ACRO_P_MAX);
* @min 0.0 * @min 0.0
* @group Multicopter Attitude Control * @group Multicopter Attitude Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MC_ACRO_Y_MAX); PX4_PARAM_DEFINE_FLOAT(MP_ACRO_Y_MAX);
@@ -33,7 +33,7 @@
****************************************************************************/ ****************************************************************************/
/** /**
* @file mc_att_control_params.h * @file MP_att_control_params.h
* Parameters for multicopter attitude controller. * Parameters for multicopter attitude controller.
* *
* @author Tobias Naegeli <naegelit@student.ethz.ch> * @author Tobias Naegeli <naegelit@student.ethz.ch>
@@ -43,20 +43,20 @@
*/ */
#pragma once #pragma once
#define PARAM_MC_ROLL_P_DEFAULT 6.0f #define PARAM_MP_ROLL_P_DEFAULT 6.0f
#define PARAM_MC_ROLLRATE_P_DEFAULT 0.1f #define PARAM_MP_ROLLRATE_P_DEFAULT 0.1f
#define PARAM_MC_ROLLRATE_I_DEFAULT 0.0f #define PARAM_MP_ROLLRATE_I_DEFAULT 0.0f
#define PARAM_MC_ROLLRATE_D_DEFAULT 0.002f #define PARAM_MP_ROLLRATE_D_DEFAULT 0.002f
#define PARAM_MC_PITCH_P_DEFAULT 6.0f #define PARAM_MP_PITCH_P_DEFAULT 6.0f
#define PARAM_MC_PITCHRATE_P_DEFAULT 0.1f #define PARAM_MP_PITCHRATE_P_DEFAULT 0.1f
#define PARAM_MC_PITCHRATE_I_DEFAULT 0.0f #define PARAM_MP_PITCHRATE_I_DEFAULT 0.0f
#define PARAM_MC_PITCHRATE_D_DEFAULT 0.002f #define PARAM_MP_PITCHRATE_D_DEFAULT 0.002f
#define PARAM_MC_YAW_P_DEFAULT 2.0f #define PARAM_MP_YAW_P_DEFAULT 2.0f
#define PARAM_MC_YAWRATE_P_DEFAULT 0.3f #define PARAM_MP_YAWRATE_P_DEFAULT 0.3f
#define PARAM_MC_YAWRATE_I_DEFAULT 0.0f #define PARAM_MP_YAWRATE_I_DEFAULT 0.0f
#define PARAM_MC_YAWRATE_D_DEFAULT 0.0f #define PARAM_MP_YAWRATE_D_DEFAULT 0.0f
#define PARAM_MC_YAW_FF_DEFAULT 0.5f #define PARAM_MP_YAW_FF_DEFAULT 0.5f
#define PARAM_MC_YAWRATE_MAX_DEFAULT 120.0f #define PARAM_MP_YAWRATE_MAX_DEFAULT 120.0f
#define PARAM_MC_ACRO_R_MAX_DEFAULT 35.0f #define PARAM_MP_ACRO_R_MAX_DEFAULT 35.0f
#define PARAM_MC_ACRO_P_MAX_DEFAULT 35.0f #define PARAM_MP_ACRO_P_MAX_DEFAULT 35.0f
#define PARAM_MC_ACRO_Y_MAX_DEFAULT 120.0f #define PARAM_MP_ACRO_Y_MAX_DEFAULT 120.0f
@@ -1102,7 +1102,6 @@ MulticopterPositionControl::task_main()
/* derivative of velocity error, not includes setpoint acceleration */ /* derivative of velocity error, not includes setpoint acceleration */
math::Vector<3> vel_err_d = (_sp_move_rate - _vel).emult(_params.pos_p) - (_vel - _vel_prev) / dt; math::Vector<3> vel_err_d = (_sp_move_rate - _vel).emult(_params.pos_p) - (_vel - _vel_prev) / dt;
_vel_prev = _vel;
/* thrust vector in NED frame */ /* thrust vector in NED frame */
math::Vector<3> thrust_sp = vel_err.emult(_params.vel_p) + vel_err_d.emult(_params.vel_d) + thrust_int; math::Vector<3> thrust_sp = vel_err.emult(_params.vel_p) + vel_err_d.emult(_params.vel_d) + thrust_int;
@@ -1406,6 +1405,9 @@ MulticopterPositionControl::task_main()
reset_yaw_sp = true; reset_yaw_sp = true;
} }
/* update previous velocity for velocity controller D part */
_vel_prev = _vel;
/* publish attitude setpoint /* publish attitude setpoint
* Do not publish if offboard is enabled but position/velocity control is disabled, * Do not publish if offboard is enabled but position/velocity control is disabled,
* in this case the attitude setpoint is published by the mavlink app * in this case the attitude setpoint is published by the mavlink app
@@ -69,26 +69,26 @@ MulticopterPositionControl::MulticopterPositionControl() :
/* parameters */ /* parameters */
_params_handles({ _params_handles({
.thr_min = px4::ParameterFloat("MPC_THR_MIN", PARAM_MPC_THR_MIN_DEFAULT), .thr_min = px4::ParameterFloat("MPP_THR_MIN", PARAM_MPP_THR_MIN_DEFAULT),
.thr_max = px4::ParameterFloat("MPC_THR_MAX", PARAM_MPC_THR_MAX_DEFAULT), .thr_max = px4::ParameterFloat("MPP_THR_MAX", PARAM_MPP_THR_MAX_DEFAULT),
.z_p = px4::ParameterFloat("MPC_Z_P", PARAM_MPC_Z_P_DEFAULT), .z_p = px4::ParameterFloat("MPP_Z_P", PARAM_MPP_Z_P_DEFAULT),
.z_vel_p = px4::ParameterFloat("MPC_Z_VEL_P", PARAM_MPC_Z_VEL_P_DEFAULT), .z_vel_p = px4::ParameterFloat("MPP_Z_VEL_P", PARAM_MPP_Z_VEL_P_DEFAULT),
.z_vel_i = px4::ParameterFloat("MPC_Z_VEL_I", PARAM_MPC_Z_VEL_I_DEFAULT), .z_vel_i = px4::ParameterFloat("MPP_Z_VEL_I", PARAM_MPP_Z_VEL_I_DEFAULT),
.z_vel_d = px4::ParameterFloat("MPC_Z_VEL_D", PARAM_MPC_Z_VEL_D_DEFAULT), .z_vel_d = px4::ParameterFloat("MPP_Z_VEL_D", PARAM_MPP_Z_VEL_D_DEFAULT),
.z_vel_max = px4::ParameterFloat("MPC_Z_VEL_MAX", PARAM_MPC_Z_VEL_MAX_DEFAULT), .z_vel_max = px4::ParameterFloat("MPP_Z_VEL_MAX", PARAM_MPP_Z_VEL_MAX_DEFAULT),
.z_ff = px4::ParameterFloat("MPC_Z_FF", PARAM_MPC_Z_FF_DEFAULT), .z_ff = px4::ParameterFloat("MPP_Z_FF", PARAM_MPP_Z_FF_DEFAULT),
.xy_p = px4::ParameterFloat("MPC_XY_P", PARAM_MPC_XY_P_DEFAULT), .xy_p = px4::ParameterFloat("MPP_XY_P", PARAM_MPP_XY_P_DEFAULT),
.xy_vel_p = px4::ParameterFloat("MPC_XY_VEL_P", PARAM_MPC_XY_VEL_P_DEFAULT), .xy_vel_p = px4::ParameterFloat("MPP_XY_VEL_P", PARAM_MPP_XY_VEL_P_DEFAULT),
.xy_vel_i = px4::ParameterFloat("MPC_XY_VEL_I", PARAM_MPC_XY_VEL_I_DEFAULT), .xy_vel_i = px4::ParameterFloat("MPP_XY_VEL_I", PARAM_MPP_XY_VEL_I_DEFAULT),
.xy_vel_d = px4::ParameterFloat("MPC_XY_VEL_D", PARAM_MPC_XY_VEL_D_DEFAULT), .xy_vel_d = px4::ParameterFloat("MPP_XY_VEL_D", PARAM_MPP_XY_VEL_D_DEFAULT),
.xy_vel_max = px4::ParameterFloat("MPC_XY_VEL_MAX", PARAM_MPC_XY_VEL_MAX_DEFAULT), .xy_vel_max = px4::ParameterFloat("MPP_XY_VEL_MAX", PARAM_MPP_XY_VEL_MAX_DEFAULT),
.xy_ff = px4::ParameterFloat("MPC_XY_FF", PARAM_MPC_XY_FF_DEFAULT), .xy_ff = px4::ParameterFloat("MPP_XY_FF", PARAM_MPP_XY_FF_DEFAULT),
.tilt_max_air = px4::ParameterFloat("MPC_TILTMAX_AIR", PARAM_MPC_TILTMAX_AIR_DEFAULT), .tilt_max_air = px4::ParameterFloat("MPP_TILTMAX_AIR", PARAM_MPP_TILTMAX_AIR_DEFAULT),
.land_speed = px4::ParameterFloat("MPC_LAND_SPEED", PARAM_MPC_LAND_SPEED_DEFAULT), .land_speed = px4::ParameterFloat("MPP_LAND_SPEED", PARAM_MPP_LAND_SPEED_DEFAULT),
.tilt_max_land = px4::ParameterFloat("MPC_TILTMAX_LND", PARAM_MPC_TILTMAX_LND_DEFAULT), .tilt_max_land = px4::ParameterFloat("MPP_TILTMAX_LND", PARAM_MPP_TILTMAX_LND_DEFAULT),
.man_roll_max = px4::ParameterFloat("MPC_MAN_R_MAX", PARAM_MPC_MAN_R_MAX_DEFAULT), .man_roll_max = px4::ParameterFloat("MPP_MAN_R_MAX", PARAM_MPP_MAN_R_MAX_DEFAULT),
.man_pitch_max = px4::ParameterFloat("MPC_MAN_P_MAX", PARAM_MPC_MAN_P_MAX_DEFAULT), .man_pitch_max = px4::ParameterFloat("MPP_MAN_P_MAX", PARAM_MPP_MAN_P_MAX_DEFAULT),
.man_yaw_max = px4::ParameterFloat("MPC_MAN_Y_MAX", PARAM_MPC_MAN_Y_MAX_DEFAULT), .man_yaw_max = px4::ParameterFloat("MPP_MAN_Y_MAX", PARAM_MPP_MAN_Y_MAX_DEFAULT),
.mc_att_yaw_p = px4::ParameterFloat("MC_YAW_P", PARAM_MC_YAW_P_DEFAULT) .mc_att_yaw_p = px4::ParameterFloat("MC_YAW_P", PARAM_MC_YAW_P_DEFAULT)
}), }),
_ref_alt(0.0f), _ref_alt(0.0f),
@@ -52,7 +52,7 @@
* @max 1.0 * @max 1.0
* @group Multicopter Position Control * @group Multicopter Position Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MPC_THR_MIN); PX4_PARAM_DEFINE_FLOAT(MPP_THR_MIN);
/** /**
* Maximum thrust * Maximum thrust
@@ -63,7 +63,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_THR_MIN);
* @max 1.0 * @max 1.0
* @group Multicopter Position Control * @group Multicopter Position Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MPC_THR_MAX); PX4_PARAM_DEFINE_FLOAT(MPP_THR_MAX);
/** /**
* Proportional gain for vertical position error * Proportional gain for vertical position error
@@ -71,7 +71,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_THR_MAX);
* @min 0.0 * @min 0.0
* @group Multicopter Position Control * @group Multicopter Position Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MPC_Z_P); PX4_PARAM_DEFINE_FLOAT(MPP_Z_P);
/** /**
* Proportional gain for vertical velocity error * Proportional gain for vertical velocity error
@@ -79,7 +79,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_Z_P);
* @min 0.0 * @min 0.0
* @group Multicopter Position Control * @group Multicopter Position Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MPC_Z_VEL_P); PX4_PARAM_DEFINE_FLOAT(MPP_Z_VEL_P);
/** /**
* Integral gain for vertical velocity error * Integral gain for vertical velocity error
@@ -89,7 +89,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_Z_VEL_P);
* @min 0.0 * @min 0.0
* @group Multicopter Position Control * @group Multicopter Position Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MPC_Z_VEL_I); PX4_PARAM_DEFINE_FLOAT(MPP_Z_VEL_I);
/** /**
* Differential gain for vertical velocity error * Differential gain for vertical velocity error
@@ -97,7 +97,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_Z_VEL_I);
* @min 0.0 * @min 0.0
* @group Multicopter Position Control * @group Multicopter Position Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MPC_Z_VEL_D); PX4_PARAM_DEFINE_FLOAT(MPP_Z_VEL_D);
/** /**
* Maximum vertical velocity * Maximum vertical velocity
@@ -108,7 +108,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_Z_VEL_D);
* @min 0.0 * @min 0.0
* @group Multicopter Position Control * @group Multicopter Position Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MPC_Z_VEL_MAX); PX4_PARAM_DEFINE_FLOAT(MPP_Z_VEL_MAX);
/** /**
* Vertical velocity feed forward * Vertical velocity feed forward
@@ -119,7 +119,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_Z_VEL_MAX);
* @max 1.0 * @max 1.0
* @group Multicopter Position Control * @group Multicopter Position Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MPC_Z_FF); PX4_PARAM_DEFINE_FLOAT(MPP_Z_FF);
/** /**
* Proportional gain for horizontal position error * Proportional gain for horizontal position error
@@ -127,7 +127,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_Z_FF);
* @min 0.0 * @min 0.0
* @group Multicopter Position Control * @group Multicopter Position Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MPC_XY_P); PX4_PARAM_DEFINE_FLOAT(MPP_XY_P);
/** /**
* Proportional gain for horizontal velocity error * Proportional gain for horizontal velocity error
@@ -135,7 +135,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_XY_P);
* @min 0.0 * @min 0.0
* @group Multicopter Position Control * @group Multicopter Position Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MPC_XY_VEL_P); PX4_PARAM_DEFINE_FLOAT(MPP_XY_VEL_P);
/** /**
* Integral gain for horizontal velocity error * Integral gain for horizontal velocity error
@@ -145,7 +145,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_XY_VEL_P);
* @min 0.0 * @min 0.0
* @group Multicopter Position Control * @group Multicopter Position Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MPC_XY_VEL_I); PX4_PARAM_DEFINE_FLOAT(MPP_XY_VEL_I);
/** /**
* Differential gain for horizontal velocity error. Small values help reduce fast oscillations. If value is too big oscillations will appear again. * Differential gain for horizontal velocity error. Small values help reduce fast oscillations. If value is too big oscillations will appear again.
@@ -153,7 +153,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_XY_VEL_I);
* @min 0.0 * @min 0.0
* @group Multicopter Position Control * @group Multicopter Position Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MPC_XY_VEL_D); PX4_PARAM_DEFINE_FLOAT(MPP_XY_VEL_D);
/** /**
* Maximum horizontal velocity * Maximum horizontal velocity
@@ -164,7 +164,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_XY_VEL_D);
* @min 0.0 * @min 0.0
* @group Multicopter Position Control * @group Multicopter Position Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MPC_XY_VEL_MAX); PX4_PARAM_DEFINE_FLOAT(MPP_XY_VEL_MAX);
/** /**
* Horizontal velocity feed forward * Horizontal velocity feed forward
@@ -175,7 +175,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_XY_VEL_MAX);
* @max 1.0 * @max 1.0
* @group Multicopter Position Control * @group Multicopter Position Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MPC_XY_FF); PX4_PARAM_DEFINE_FLOAT(MPP_XY_FF);
/** /**
* Maximum tilt angle in air * Maximum tilt angle in air
@@ -187,7 +187,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_XY_FF);
* @max 90.0 * @max 90.0
* @group Multicopter Position Control * @group Multicopter Position Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MPC_TILTMAX_AIR); PX4_PARAM_DEFINE_FLOAT(MPP_TILTMAX_AIR);
/** /**
* Maximum tilt during landing * Maximum tilt during landing
@@ -199,7 +199,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_TILTMAX_AIR);
* @max 90.0 * @max 90.0
* @group Multicopter Position Control * @group Multicopter Position Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MPC_TILTMAX_LND); PX4_PARAM_DEFINE_FLOAT(MPP_TILTMAX_LND);
/** /**
* Landing descend rate * Landing descend rate
@@ -208,7 +208,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_TILTMAX_LND);
* @min 0.0 * @min 0.0
* @group Multicopter Position Control * @group Multicopter Position Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MPC_LAND_SPEED); PX4_PARAM_DEFINE_FLOAT(MPP_LAND_SPEED);
/** /**
* Max manual roll * Max manual roll
@@ -218,7 +218,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_LAND_SPEED);
* @max 90.0 * @max 90.0
* @group Multicopter Attitude Control * @group Multicopter Attitude Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MPC_MAN_R_MAX); PX4_PARAM_DEFINE_FLOAT(MPP_MAN_R_MAX);
/** /**
* Max manual pitch * Max manual pitch
@@ -228,7 +228,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_MAN_R_MAX);
* @max 90.0 * @max 90.0
* @group Multicopter Attitude Control * @group Multicopter Attitude Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MPC_MAN_P_MAX); PX4_PARAM_DEFINE_FLOAT(MPP_MAN_P_MAX);
/** /**
* Max manual yaw rate * Max manual yaw rate
@@ -237,5 +237,5 @@ PX4_PARAM_DEFINE_FLOAT(MPC_MAN_P_MAX);
* @min 0.0 * @min 0.0
* @group Multicopter Attitude Control * @group Multicopter Attitude Control
*/ */
PX4_PARAM_DEFINE_FLOAT(MPC_MAN_Y_MAX); PX4_PARAM_DEFINE_FLOAT(MPP_MAN_Y_MAX);
@@ -41,24 +41,24 @@
#pragma once #pragma once
#define PARAM_MPC_THR_MIN_DEFAULT 0.1f #define PARAM_MPP_THR_MIN_DEFAULT 0.1f
#define PARAM_MPC_THR_MAX_DEFAULT 1.0f #define PARAM_MPP_THR_MAX_DEFAULT 1.0f
#define PARAM_MPC_Z_P_DEFAULT 1.0f #define PARAM_MPP_Z_P_DEFAULT 1.0f
#define PARAM_MPC_Z_VEL_P_DEFAULT 0.1f #define PARAM_MPP_Z_VEL_P_DEFAULT 0.1f
#define PARAM_MPC_Z_VEL_I_DEFAULT 0.02f #define PARAM_MPP_Z_VEL_I_DEFAULT 0.02f
#define PARAM_MPC_Z_VEL_D_DEFAULT 0.0f #define PARAM_MPP_Z_VEL_D_DEFAULT 0.0f
#define PARAM_MPC_Z_VEL_MAX_DEFAULT 5.0f #define PARAM_MPP_Z_VEL_MAX_DEFAULT 5.0f
#define PARAM_MPC_Z_FF_DEFAULT 0.5f #define PARAM_MPP_Z_FF_DEFAULT 0.5f
#define PARAM_MPC_XY_P_DEFAULT 1.0f #define PARAM_MPP_XY_P_DEFAULT 1.0f
#define PARAM_MPC_XY_VEL_P_DEFAULT 0.1f #define PARAM_MPP_XY_VEL_P_DEFAULT 0.1f
#define PARAM_MPC_XY_VEL_I_DEFAULT 0.02f #define PARAM_MPP_XY_VEL_I_DEFAULT 0.02f
#define PARAM_MPC_XY_VEL_D_DEFAULT 0.01f #define PARAM_MPP_XY_VEL_D_DEFAULT 0.01f
#define PARAM_MPC_XY_VEL_MAX_DEFAULT 5.0f #define PARAM_MPP_XY_VEL_MAX_DEFAULT 5.0f
#define PARAM_MPC_XY_FF_DEFAULT 0.5f #define PARAM_MPP_XY_FF_DEFAULT 0.5f
#define PARAM_MPC_TILTMAX_AIR_DEFAULT 45.0f #define PARAM_MPP_TILTMAX_AIR_DEFAULT 45.0f
#define PARAM_MPC_TILTMAX_LND_DEFAULT 15.0f #define PARAM_MPP_TILTMAX_LND_DEFAULT 15.0f
#define PARAM_MPC_LAND_SPEED_DEFAULT 1.0f #define PARAM_MPP_LAND_SPEED_DEFAULT 1.0f
#define PARAM_MPC_MAN_R_MAX_DEFAULT 35.0f #define PARAM_MPP_MAN_R_MAX_DEFAULT 35.0f
#define PARAM_MPC_MAN_P_MAX_DEFAULT 35.0f #define PARAM_MPP_MAN_P_MAX_DEFAULT 35.0f
#define PARAM_MPC_MAN_Y_MAX_DEFAULT 120.0f #define PARAM_MPP_MAN_Y_MAX_DEFAULT 120.0f