mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-04-14 10:07:39 +08:00
Merge branch 'master' into beta
This commit is contained in:
commit
796b2ccd32
@ -75,23 +75,23 @@ MulticopterAttitudeControl::MulticopterAttitudeControl() :
|
||||
|
||||
/* parameters */
|
||||
_params_handles({
|
||||
.roll_p = px4::ParameterFloat("MC_ROLL_P", PARAM_MC_ROLL_P_DEFAULT),
|
||||
.roll_rate_p = px4::ParameterFloat("MC_ROLLRATE_P", PARAM_MC_ROLLRATE_P_DEFAULT),
|
||||
.roll_rate_i = px4::ParameterFloat("MC_ROLLRATE_I", PARAM_MC_ROLLRATE_I_DEFAULT),
|
||||
.roll_rate_d = px4::ParameterFloat("MC_ROLLRATE_D", PARAM_MC_ROLLRATE_D_DEFAULT),
|
||||
.pitch_p = px4::ParameterFloat("MC_PITCH_P", PARAM_MC_PITCH_P_DEFAULT),
|
||||
.pitch_rate_p = px4::ParameterFloat("MC_PITCHRATE_P", PARAM_MC_PITCHRATE_P_DEFAULT),
|
||||
.pitch_rate_i = px4::ParameterFloat("MC_PITCHRATE_I", PARAM_MC_PITCHRATE_I_DEFAULT),
|
||||
.pitch_rate_d = px4::ParameterFloat("MC_PITCHRATE_D", PARAM_MC_PITCHRATE_D_DEFAULT),
|
||||
.yaw_p = px4::ParameterFloat("MC_YAW_P", PARAM_MC_YAW_P_DEFAULT),
|
||||
.yaw_rate_p = px4::ParameterFloat("MC_YAWRATE_P", PARAM_MC_YAWRATE_P_DEFAULT),
|
||||
.yaw_rate_i = px4::ParameterFloat("MC_YAWRATE_I", PARAM_MC_YAWRATE_I_DEFAULT),
|
||||
.yaw_rate_d = px4::ParameterFloat("MC_YAWRATE_D", PARAM_MC_YAWRATE_D_DEFAULT),
|
||||
.yaw_ff = px4::ParameterFloat("MC_YAW_FF", PARAM_MC_YAW_FF_DEFAULT),
|
||||
.yaw_rate_max = px4::ParameterFloat("MC_YAWRATE_MAX", PARAM_MC_YAWRATE_MAX_DEFAULT),
|
||||
.acro_roll_max = px4::ParameterFloat("MC_ACRO_R_MAX", PARAM_MC_ACRO_R_MAX_DEFAULT),
|
||||
.acro_pitch_max = px4::ParameterFloat("MC_ACRO_P_MAX", PARAM_MC_ACRO_P_MAX_DEFAULT),
|
||||
.acro_yaw_max = px4::ParameterFloat("MC_ACRO_Y_MAX", PARAM_MC_ACRO_Y_MAX_DEFAULT)
|
||||
.roll_p = px4::ParameterFloat("MP_ROLL_P", PARAM_MP_ROLL_P_DEFAULT),
|
||||
.roll_rate_p = px4::ParameterFloat("MP_ROLLRATE_P", PARAM_MP_ROLLRATE_P_DEFAULT),
|
||||
.roll_rate_i = px4::ParameterFloat("MP_ROLLRATE_I", PARAM_MP_ROLLRATE_I_DEFAULT),
|
||||
.roll_rate_d = px4::ParameterFloat("MP_ROLLRATE_D", PARAM_MP_ROLLRATE_D_DEFAULT),
|
||||
.pitch_p = px4::ParameterFloat("MP_PITCH_P", PARAM_MP_PITCH_P_DEFAULT),
|
||||
.pitch_rate_p = px4::ParameterFloat("MP_PITCHRATE_P", PARAM_MP_PITCHRATE_P_DEFAULT),
|
||||
.pitch_rate_i = px4::ParameterFloat("MP_PITCHRATE_I", PARAM_MP_PITCHRATE_I_DEFAULT),
|
||||
.pitch_rate_d = px4::ParameterFloat("MP_PITCHRATE_D", PARAM_MP_PITCHRATE_D_DEFAULT),
|
||||
.yaw_p = px4::ParameterFloat("MP_YAW_P", PARAM_MP_YAW_P_DEFAULT),
|
||||
.yaw_rate_p = px4::ParameterFloat("MP_YAWRATE_P", PARAM_MP_YAWRATE_P_DEFAULT),
|
||||
.yaw_rate_i = px4::ParameterFloat("MP_YAWRATE_I", PARAM_MP_YAWRATE_I_DEFAULT),
|
||||
.yaw_rate_d = px4::ParameterFloat("MP_YAWRATE_D", PARAM_MP_YAWRATE_D_DEFAULT),
|
||||
.yaw_ff = px4::ParameterFloat("MP_YAW_FF", PARAM_MP_YAW_FF_DEFAULT),
|
||||
.yaw_rate_max = px4::ParameterFloat("MP_YAWRATE_MAX", PARAM_MP_YAWRATE_MAX_DEFAULT),
|
||||
.acro_roll_max = px4::ParameterFloat("MP_ACRO_R_MAX", PARAM_MP_ACRO_R_MAX_DEFAULT),
|
||||
.acro_pitch_max = px4::ParameterFloat("MP_ACRO_P_MAX", PARAM_MP_ACRO_P_MAX_DEFAULT),
|
||||
.acro_yaw_max = px4::ParameterFloat("MP_ACRO_Y_MAX", PARAM_MP_ACRO_Y_MAX_DEFAULT)
|
||||
}),
|
||||
|
||||
/* performance counters */
|
||||
|
||||
@ -52,7 +52,7 @@
|
||||
* @min 0.0
|
||||
* @group Multicopter Attitude Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MC_ROLL_P);
|
||||
PX4_PARAM_DEFINE_FLOAT(MP_ROLL_P);
|
||||
|
||||
/**
|
||||
* Roll rate P gain
|
||||
@ -62,7 +62,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_ROLL_P);
|
||||
* @min 0.0
|
||||
* @group Multicopter Attitude Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MC_ROLLRATE_P);
|
||||
PX4_PARAM_DEFINE_FLOAT(MP_ROLLRATE_P);
|
||||
|
||||
/**
|
||||
* Roll rate I gain
|
||||
@ -72,7 +72,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_ROLLRATE_P);
|
||||
* @min 0.0
|
||||
* @group Multicopter Attitude Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MC_ROLLRATE_I);
|
||||
PX4_PARAM_DEFINE_FLOAT(MP_ROLLRATE_I);
|
||||
|
||||
/**
|
||||
* Roll rate D gain
|
||||
@ -82,7 +82,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_ROLLRATE_I);
|
||||
* @min 0.0
|
||||
* @group Multicopter Attitude Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MC_ROLLRATE_D);
|
||||
PX4_PARAM_DEFINE_FLOAT(MP_ROLLRATE_D);
|
||||
|
||||
/**
|
||||
* Pitch P gain
|
||||
@ -93,7 +93,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_ROLLRATE_D);
|
||||
* @min 0.0
|
||||
* @group Multicopter Attitude Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MC_PITCH_P);
|
||||
PX4_PARAM_DEFINE_FLOAT(MP_PITCH_P);
|
||||
|
||||
/**
|
||||
* Pitch rate P gain
|
||||
@ -103,7 +103,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_PITCH_P);
|
||||
* @min 0.0
|
||||
* @group Multicopter Attitude Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MC_PITCHRATE_P);
|
||||
PX4_PARAM_DEFINE_FLOAT(MP_PITCHRATE_P);
|
||||
|
||||
/**
|
||||
* Pitch rate I gain
|
||||
@ -113,7 +113,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_PITCHRATE_P);
|
||||
* @min 0.0
|
||||
* @group Multicopter Attitude Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MC_PITCHRATE_I);
|
||||
PX4_PARAM_DEFINE_FLOAT(MP_PITCHRATE_I);
|
||||
|
||||
/**
|
||||
* Pitch rate D gain
|
||||
@ -123,7 +123,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_PITCHRATE_I);
|
||||
* @min 0.0
|
||||
* @group Multicopter Attitude Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MC_PITCHRATE_D);
|
||||
PX4_PARAM_DEFINE_FLOAT(MP_PITCHRATE_D);
|
||||
|
||||
/**
|
||||
* Yaw P gain
|
||||
@ -134,7 +134,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_PITCHRATE_D);
|
||||
* @min 0.0
|
||||
* @group Multicopter Attitude Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MC_YAW_P);
|
||||
PX4_PARAM_DEFINE_FLOAT(MP_YAW_P);
|
||||
|
||||
/**
|
||||
* Yaw rate P gain
|
||||
@ -144,7 +144,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_YAW_P);
|
||||
* @min 0.0
|
||||
* @group Multicopter Attitude Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MC_YAWRATE_P);
|
||||
PX4_PARAM_DEFINE_FLOAT(MP_YAWRATE_P);
|
||||
|
||||
/**
|
||||
* Yaw rate I gain
|
||||
@ -154,7 +154,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_YAWRATE_P);
|
||||
* @min 0.0
|
||||
* @group Multicopter Attitude Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MC_YAWRATE_I);
|
||||
PX4_PARAM_DEFINE_FLOAT(MP_YAWRATE_I);
|
||||
|
||||
/**
|
||||
* Yaw rate D gain
|
||||
@ -164,7 +164,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_YAWRATE_I);
|
||||
* @min 0.0
|
||||
* @group Multicopter Attitude Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MC_YAWRATE_D);
|
||||
PX4_PARAM_DEFINE_FLOAT(MP_YAWRATE_D);
|
||||
|
||||
/**
|
||||
* Yaw feed forward
|
||||
@ -175,7 +175,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_YAWRATE_D);
|
||||
* @max 1.0
|
||||
* @group Multicopter Attitude Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MC_YAW_FF);
|
||||
PX4_PARAM_DEFINE_FLOAT(MP_YAW_FF);
|
||||
|
||||
/**
|
||||
* Max yaw rate
|
||||
@ -187,7 +187,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_YAW_FF);
|
||||
* @max 360.0
|
||||
* @group Multicopter Attitude Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MC_YAWRATE_MAX);
|
||||
PX4_PARAM_DEFINE_FLOAT(MP_YAWRATE_MAX);
|
||||
|
||||
/**
|
||||
* Max acro roll rate
|
||||
@ -197,7 +197,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_YAWRATE_MAX);
|
||||
* @max 360.0
|
||||
* @group Multicopter Attitude Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MC_ACRO_R_MAX);
|
||||
PX4_PARAM_DEFINE_FLOAT(MP_ACRO_R_MAX);
|
||||
|
||||
/**
|
||||
* Max acro pitch rate
|
||||
@ -207,7 +207,7 @@ PX4_PARAM_DEFINE_FLOAT(MC_ACRO_R_MAX);
|
||||
* @max 360.0
|
||||
* @group Multicopter Attitude Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MC_ACRO_P_MAX);
|
||||
PX4_PARAM_DEFINE_FLOAT(MP_ACRO_P_MAX);
|
||||
|
||||
/**
|
||||
* Max acro yaw rate
|
||||
@ -216,4 +216,4 @@ PX4_PARAM_DEFINE_FLOAT(MC_ACRO_P_MAX);
|
||||
* @min 0.0
|
||||
* @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.
|
||||
*
|
||||
* @author Tobias Naegeli <naegelit@student.ethz.ch>
|
||||
@ -43,20 +43,20 @@
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#define PARAM_MC_ROLL_P_DEFAULT 6.0f
|
||||
#define PARAM_MC_ROLLRATE_P_DEFAULT 0.1f
|
||||
#define PARAM_MC_ROLLRATE_I_DEFAULT 0.0f
|
||||
#define PARAM_MC_ROLLRATE_D_DEFAULT 0.002f
|
||||
#define PARAM_MC_PITCH_P_DEFAULT 6.0f
|
||||
#define PARAM_MC_PITCHRATE_P_DEFAULT 0.1f
|
||||
#define PARAM_MC_PITCHRATE_I_DEFAULT 0.0f
|
||||
#define PARAM_MC_PITCHRATE_D_DEFAULT 0.002f
|
||||
#define PARAM_MC_YAW_P_DEFAULT 2.0f
|
||||
#define PARAM_MC_YAWRATE_P_DEFAULT 0.3f
|
||||
#define PARAM_MC_YAWRATE_I_DEFAULT 0.0f
|
||||
#define PARAM_MC_YAWRATE_D_DEFAULT 0.0f
|
||||
#define PARAM_MC_YAW_FF_DEFAULT 0.5f
|
||||
#define PARAM_MC_YAWRATE_MAX_DEFAULT 120.0f
|
||||
#define PARAM_MC_ACRO_R_MAX_DEFAULT 35.0f
|
||||
#define PARAM_MC_ACRO_P_MAX_DEFAULT 35.0f
|
||||
#define PARAM_MC_ACRO_Y_MAX_DEFAULT 120.0f
|
||||
#define PARAM_MP_ROLL_P_DEFAULT 6.0f
|
||||
#define PARAM_MP_ROLLRATE_P_DEFAULT 0.1f
|
||||
#define PARAM_MP_ROLLRATE_I_DEFAULT 0.0f
|
||||
#define PARAM_MP_ROLLRATE_D_DEFAULT 0.002f
|
||||
#define PARAM_MP_PITCH_P_DEFAULT 6.0f
|
||||
#define PARAM_MP_PITCHRATE_P_DEFAULT 0.1f
|
||||
#define PARAM_MP_PITCHRATE_I_DEFAULT 0.0f
|
||||
#define PARAM_MP_PITCHRATE_D_DEFAULT 0.002f
|
||||
#define PARAM_MP_YAW_P_DEFAULT 2.0f
|
||||
#define PARAM_MP_YAWRATE_P_DEFAULT 0.3f
|
||||
#define PARAM_MP_YAWRATE_I_DEFAULT 0.0f
|
||||
#define PARAM_MP_YAWRATE_D_DEFAULT 0.0f
|
||||
#define PARAM_MP_YAW_FF_DEFAULT 0.5f
|
||||
#define PARAM_MP_YAWRATE_MAX_DEFAULT 120.0f
|
||||
#define PARAM_MP_ACRO_R_MAX_DEFAULT 35.0f
|
||||
#define PARAM_MP_ACRO_P_MAX_DEFAULT 35.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 */
|
||||
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 */
|
||||
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;
|
||||
}
|
||||
|
||||
/* update previous velocity for velocity controller D part */
|
||||
_vel_prev = _vel;
|
||||
|
||||
/* publish attitude setpoint
|
||||
* 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
|
||||
|
||||
@ -69,26 +69,26 @@ MulticopterPositionControl::MulticopterPositionControl() :
|
||||
|
||||
/* parameters */
|
||||
_params_handles({
|
||||
.thr_min = px4::ParameterFloat("MPC_THR_MIN", PARAM_MPC_THR_MIN_DEFAULT),
|
||||
.thr_max = px4::ParameterFloat("MPC_THR_MAX", PARAM_MPC_THR_MAX_DEFAULT),
|
||||
.z_p = px4::ParameterFloat("MPC_Z_P", PARAM_MPC_Z_P_DEFAULT),
|
||||
.z_vel_p = px4::ParameterFloat("MPC_Z_VEL_P", PARAM_MPC_Z_VEL_P_DEFAULT),
|
||||
.z_vel_i = px4::ParameterFloat("MPC_Z_VEL_I", PARAM_MPC_Z_VEL_I_DEFAULT),
|
||||
.z_vel_d = px4::ParameterFloat("MPC_Z_VEL_D", PARAM_MPC_Z_VEL_D_DEFAULT),
|
||||
.z_vel_max = px4::ParameterFloat("MPC_Z_VEL_MAX", PARAM_MPC_Z_VEL_MAX_DEFAULT),
|
||||
.z_ff = px4::ParameterFloat("MPC_Z_FF", PARAM_MPC_Z_FF_DEFAULT),
|
||||
.xy_p = px4::ParameterFloat("MPC_XY_P", PARAM_MPC_XY_P_DEFAULT),
|
||||
.xy_vel_p = px4::ParameterFloat("MPC_XY_VEL_P", PARAM_MPC_XY_VEL_P_DEFAULT),
|
||||
.xy_vel_i = px4::ParameterFloat("MPC_XY_VEL_I", PARAM_MPC_XY_VEL_I_DEFAULT),
|
||||
.xy_vel_d = px4::ParameterFloat("MPC_XY_VEL_D", PARAM_MPC_XY_VEL_D_DEFAULT),
|
||||
.xy_vel_max = px4::ParameterFloat("MPC_XY_VEL_MAX", PARAM_MPC_XY_VEL_MAX_DEFAULT),
|
||||
.xy_ff = px4::ParameterFloat("MPC_XY_FF", PARAM_MPC_XY_FF_DEFAULT),
|
||||
.tilt_max_air = px4::ParameterFloat("MPC_TILTMAX_AIR", PARAM_MPC_TILTMAX_AIR_DEFAULT),
|
||||
.land_speed = px4::ParameterFloat("MPC_LAND_SPEED", PARAM_MPC_LAND_SPEED_DEFAULT),
|
||||
.tilt_max_land = px4::ParameterFloat("MPC_TILTMAX_LND", PARAM_MPC_TILTMAX_LND_DEFAULT),
|
||||
.man_roll_max = px4::ParameterFloat("MPC_MAN_R_MAX", PARAM_MPC_MAN_R_MAX_DEFAULT),
|
||||
.man_pitch_max = px4::ParameterFloat("MPC_MAN_P_MAX", PARAM_MPC_MAN_P_MAX_DEFAULT),
|
||||
.man_yaw_max = px4::ParameterFloat("MPC_MAN_Y_MAX", PARAM_MPC_MAN_Y_MAX_DEFAULT),
|
||||
.thr_min = px4::ParameterFloat("MPP_THR_MIN", PARAM_MPP_THR_MIN_DEFAULT),
|
||||
.thr_max = px4::ParameterFloat("MPP_THR_MAX", PARAM_MPP_THR_MAX_DEFAULT),
|
||||
.z_p = px4::ParameterFloat("MPP_Z_P", PARAM_MPP_Z_P_DEFAULT),
|
||||
.z_vel_p = px4::ParameterFloat("MPP_Z_VEL_P", PARAM_MPP_Z_VEL_P_DEFAULT),
|
||||
.z_vel_i = px4::ParameterFloat("MPP_Z_VEL_I", PARAM_MPP_Z_VEL_I_DEFAULT),
|
||||
.z_vel_d = px4::ParameterFloat("MPP_Z_VEL_D", PARAM_MPP_Z_VEL_D_DEFAULT),
|
||||
.z_vel_max = px4::ParameterFloat("MPP_Z_VEL_MAX", PARAM_MPP_Z_VEL_MAX_DEFAULT),
|
||||
.z_ff = px4::ParameterFloat("MPP_Z_FF", PARAM_MPP_Z_FF_DEFAULT),
|
||||
.xy_p = px4::ParameterFloat("MPP_XY_P", PARAM_MPP_XY_P_DEFAULT),
|
||||
.xy_vel_p = px4::ParameterFloat("MPP_XY_VEL_P", PARAM_MPP_XY_VEL_P_DEFAULT),
|
||||
.xy_vel_i = px4::ParameterFloat("MPP_XY_VEL_I", PARAM_MPP_XY_VEL_I_DEFAULT),
|
||||
.xy_vel_d = px4::ParameterFloat("MPP_XY_VEL_D", PARAM_MPP_XY_VEL_D_DEFAULT),
|
||||
.xy_vel_max = px4::ParameterFloat("MPP_XY_VEL_MAX", PARAM_MPP_XY_VEL_MAX_DEFAULT),
|
||||
.xy_ff = px4::ParameterFloat("MPP_XY_FF", PARAM_MPP_XY_FF_DEFAULT),
|
||||
.tilt_max_air = px4::ParameterFloat("MPP_TILTMAX_AIR", PARAM_MPP_TILTMAX_AIR_DEFAULT),
|
||||
.land_speed = px4::ParameterFloat("MPP_LAND_SPEED", PARAM_MPP_LAND_SPEED_DEFAULT),
|
||||
.tilt_max_land = px4::ParameterFloat("MPP_TILTMAX_LND", PARAM_MPP_TILTMAX_LND_DEFAULT),
|
||||
.man_roll_max = px4::ParameterFloat("MPP_MAN_R_MAX", PARAM_MPP_MAN_R_MAX_DEFAULT),
|
||||
.man_pitch_max = px4::ParameterFloat("MPP_MAN_P_MAX", PARAM_MPP_MAN_P_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)
|
||||
}),
|
||||
_ref_alt(0.0f),
|
||||
|
||||
@ -52,7 +52,7 @@
|
||||
* @max 1.0
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MPC_THR_MIN);
|
||||
PX4_PARAM_DEFINE_FLOAT(MPP_THR_MIN);
|
||||
|
||||
/**
|
||||
* Maximum thrust
|
||||
@ -63,7 +63,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_THR_MIN);
|
||||
* @max 1.0
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MPC_THR_MAX);
|
||||
PX4_PARAM_DEFINE_FLOAT(MPP_THR_MAX);
|
||||
|
||||
/**
|
||||
* Proportional gain for vertical position error
|
||||
@ -71,7 +71,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_THR_MAX);
|
||||
* @min 0.0
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MPC_Z_P);
|
||||
PX4_PARAM_DEFINE_FLOAT(MPP_Z_P);
|
||||
|
||||
/**
|
||||
* Proportional gain for vertical velocity error
|
||||
@ -79,7 +79,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_Z_P);
|
||||
* @min 0.0
|
||||
* @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
|
||||
@ -89,7 +89,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_Z_VEL_P);
|
||||
* @min 0.0
|
||||
* @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
|
||||
@ -97,7 +97,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_Z_VEL_I);
|
||||
* @min 0.0
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MPC_Z_VEL_D);
|
||||
PX4_PARAM_DEFINE_FLOAT(MPP_Z_VEL_D);
|
||||
|
||||
/**
|
||||
* Maximum vertical velocity
|
||||
@ -108,7 +108,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_Z_VEL_D);
|
||||
* @min 0.0
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MPC_Z_VEL_MAX);
|
||||
PX4_PARAM_DEFINE_FLOAT(MPP_Z_VEL_MAX);
|
||||
|
||||
/**
|
||||
* Vertical velocity feed forward
|
||||
@ -119,7 +119,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_Z_VEL_MAX);
|
||||
* @max 1.0
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MPC_Z_FF);
|
||||
PX4_PARAM_DEFINE_FLOAT(MPP_Z_FF);
|
||||
|
||||
/**
|
||||
* Proportional gain for horizontal position error
|
||||
@ -127,7 +127,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_Z_FF);
|
||||
* @min 0.0
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MPC_XY_P);
|
||||
PX4_PARAM_DEFINE_FLOAT(MPP_XY_P);
|
||||
|
||||
/**
|
||||
* Proportional gain for horizontal velocity error
|
||||
@ -135,7 +135,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_XY_P);
|
||||
* @min 0.0
|
||||
* @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
|
||||
@ -145,7 +145,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_XY_VEL_P);
|
||||
* @min 0.0
|
||||
* @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.
|
||||
@ -153,7 +153,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_XY_VEL_I);
|
||||
* @min 0.0
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MPC_XY_VEL_D);
|
||||
PX4_PARAM_DEFINE_FLOAT(MPP_XY_VEL_D);
|
||||
|
||||
/**
|
||||
* Maximum horizontal velocity
|
||||
@ -164,7 +164,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_XY_VEL_D);
|
||||
* @min 0.0
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MPC_XY_VEL_MAX);
|
||||
PX4_PARAM_DEFINE_FLOAT(MPP_XY_VEL_MAX);
|
||||
|
||||
/**
|
||||
* Horizontal velocity feed forward
|
||||
@ -175,7 +175,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_XY_VEL_MAX);
|
||||
* @max 1.0
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MPC_XY_FF);
|
||||
PX4_PARAM_DEFINE_FLOAT(MPP_XY_FF);
|
||||
|
||||
/**
|
||||
* Maximum tilt angle in air
|
||||
@ -187,7 +187,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_XY_FF);
|
||||
* @max 90.0
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MPC_TILTMAX_AIR);
|
||||
PX4_PARAM_DEFINE_FLOAT(MPP_TILTMAX_AIR);
|
||||
|
||||
/**
|
||||
* Maximum tilt during landing
|
||||
@ -199,7 +199,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_TILTMAX_AIR);
|
||||
* @max 90.0
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MPC_TILTMAX_LND);
|
||||
PX4_PARAM_DEFINE_FLOAT(MPP_TILTMAX_LND);
|
||||
|
||||
/**
|
||||
* Landing descend rate
|
||||
@ -208,7 +208,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_TILTMAX_LND);
|
||||
* @min 0.0
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MPC_LAND_SPEED);
|
||||
PX4_PARAM_DEFINE_FLOAT(MPP_LAND_SPEED);
|
||||
|
||||
/**
|
||||
* Max manual roll
|
||||
@ -218,7 +218,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_LAND_SPEED);
|
||||
* @max 90.0
|
||||
* @group Multicopter Attitude Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MPC_MAN_R_MAX);
|
||||
PX4_PARAM_DEFINE_FLOAT(MPP_MAN_R_MAX);
|
||||
|
||||
/**
|
||||
* Max manual pitch
|
||||
@ -228,7 +228,7 @@ PX4_PARAM_DEFINE_FLOAT(MPC_MAN_R_MAX);
|
||||
* @max 90.0
|
||||
* @group Multicopter Attitude Control
|
||||
*/
|
||||
PX4_PARAM_DEFINE_FLOAT(MPC_MAN_P_MAX);
|
||||
PX4_PARAM_DEFINE_FLOAT(MPP_MAN_P_MAX);
|
||||
|
||||
/**
|
||||
* Max manual yaw rate
|
||||
@ -237,5 +237,5 @@ PX4_PARAM_DEFINE_FLOAT(MPC_MAN_P_MAX);
|
||||
* @min 0.0
|
||||
* @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
|
||||
|
||||
#define PARAM_MPC_THR_MIN_DEFAULT 0.1f
|
||||
#define PARAM_MPC_THR_MAX_DEFAULT 1.0f
|
||||
#define PARAM_MPC_Z_P_DEFAULT 1.0f
|
||||
#define PARAM_MPC_Z_VEL_P_DEFAULT 0.1f
|
||||
#define PARAM_MPC_Z_VEL_I_DEFAULT 0.02f
|
||||
#define PARAM_MPC_Z_VEL_D_DEFAULT 0.0f
|
||||
#define PARAM_MPC_Z_VEL_MAX_DEFAULT 5.0f
|
||||
#define PARAM_MPC_Z_FF_DEFAULT 0.5f
|
||||
#define PARAM_MPC_XY_P_DEFAULT 1.0f
|
||||
#define PARAM_MPC_XY_VEL_P_DEFAULT 0.1f
|
||||
#define PARAM_MPC_XY_VEL_I_DEFAULT 0.02f
|
||||
#define PARAM_MPC_XY_VEL_D_DEFAULT 0.01f
|
||||
#define PARAM_MPC_XY_VEL_MAX_DEFAULT 5.0f
|
||||
#define PARAM_MPC_XY_FF_DEFAULT 0.5f
|
||||
#define PARAM_MPC_TILTMAX_AIR_DEFAULT 45.0f
|
||||
#define PARAM_MPC_TILTMAX_LND_DEFAULT 15.0f
|
||||
#define PARAM_MPC_LAND_SPEED_DEFAULT 1.0f
|
||||
#define PARAM_MPC_MAN_R_MAX_DEFAULT 35.0f
|
||||
#define PARAM_MPC_MAN_P_MAX_DEFAULT 35.0f
|
||||
#define PARAM_MPC_MAN_Y_MAX_DEFAULT 120.0f
|
||||
#define PARAM_MPP_THR_MIN_DEFAULT 0.1f
|
||||
#define PARAM_MPP_THR_MAX_DEFAULT 1.0f
|
||||
#define PARAM_MPP_Z_P_DEFAULT 1.0f
|
||||
#define PARAM_MPP_Z_VEL_P_DEFAULT 0.1f
|
||||
#define PARAM_MPP_Z_VEL_I_DEFAULT 0.02f
|
||||
#define PARAM_MPP_Z_VEL_D_DEFAULT 0.0f
|
||||
#define PARAM_MPP_Z_VEL_MAX_DEFAULT 5.0f
|
||||
#define PARAM_MPP_Z_FF_DEFAULT 0.5f
|
||||
#define PARAM_MPP_XY_P_DEFAULT 1.0f
|
||||
#define PARAM_MPP_XY_VEL_P_DEFAULT 0.1f
|
||||
#define PARAM_MPP_XY_VEL_I_DEFAULT 0.02f
|
||||
#define PARAM_MPP_XY_VEL_D_DEFAULT 0.01f
|
||||
#define PARAM_MPP_XY_VEL_MAX_DEFAULT 5.0f
|
||||
#define PARAM_MPP_XY_FF_DEFAULT 0.5f
|
||||
#define PARAM_MPP_TILTMAX_AIR_DEFAULT 45.0f
|
||||
#define PARAM_MPP_TILTMAX_LND_DEFAULT 15.0f
|
||||
#define PARAM_MPP_LAND_SPEED_DEFAULT 1.0f
|
||||
#define PARAM_MPP_MAN_R_MAX_DEFAULT 35.0f
|
||||
#define PARAM_MPP_MAN_P_MAX_DEFAULT 35.0f
|
||||
#define PARAM_MPP_MAN_Y_MAX_DEFAULT 120.0f
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user