mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-05-17 07:07:36 +08:00
mc_pos_control: remove trailing zeroes
This commit is contained in:
@@ -83,7 +83,7 @@ void bodyzToAttitude(Vector3f body_z, const float yaw_sp, vehicle_attitude_setpo
|
||||
Vector3f body_x = y_C % body_z;
|
||||
|
||||
// keep nose to front while inverted upside down
|
||||
if (body_z(2) < 0.0f) {
|
||||
if (body_z(2) < 0.f) {
|
||||
body_x = -body_x;
|
||||
}
|
||||
|
||||
@@ -91,7 +91,7 @@ void bodyzToAttitude(Vector3f body_z, const float yaw_sp, vehicle_attitude_setpo
|
||||
// desired thrust is in XY plane, set X downside to construct correct matrix,
|
||||
// but yaw component will not be used actually
|
||||
body_x.zero();
|
||||
body_x(2) = 1.0f;
|
||||
body_x(2) = 1.f;
|
||||
}
|
||||
|
||||
body_x.normalize();
|
||||
@@ -201,7 +201,7 @@ bool cross_sphere_line(const Vector3f &sphere_c, const float sphere_r,
|
||||
// we have triangle CDX with known CD and CX = R, find DX
|
||||
float dx_len = sqrtf(sphere_r * sphere_r - cd_len * cd_len);
|
||||
|
||||
if ((sphere_c - line_b) * ab_norm > 0.0f) {
|
||||
if ((sphere_c - line_b) * ab_norm > 0.f) {
|
||||
// target waypoint is already behind us
|
||||
res = line_b;
|
||||
|
||||
@@ -218,12 +218,12 @@ bool cross_sphere_line(const Vector3f &sphere_c, const float sphere_r,
|
||||
res = d; // go directly to line
|
||||
|
||||
// previous waypoint is still in front of us
|
||||
if ((sphere_c - line_a) * ab_norm < 0.0f) {
|
||||
if ((sphere_c - line_a) * ab_norm < 0.f) {
|
||||
res = line_a;
|
||||
}
|
||||
|
||||
// target waypoint is already behind us
|
||||
if ((sphere_c - line_b) * ab_norm > 0.0f) {
|
||||
if ((sphere_c - line_b) * ab_norm > 0.f) {
|
||||
res = line_b;
|
||||
}
|
||||
|
||||
|
||||
@@ -152,8 +152,8 @@ void PositionControl::_velocityControl(const float dt)
|
||||
_accelerationControl();
|
||||
|
||||
// Integrator anti-windup in vertical direction
|
||||
if ((_thr_sp(2) >= -_lim_thr_min && vel_error(2) >= 0.0f) ||
|
||||
(_thr_sp(2) <= -_lim_thr_max && vel_error(2) <= 0.0f)) {
|
||||
if ((_thr_sp(2) >= -_lim_thr_min && vel_error(2) >= 0.f) ||
|
||||
(_thr_sp(2) <= -_lim_thr_max && vel_error(2) <= 0.f)) {
|
||||
vel_error(2) = 0.f;
|
||||
}
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ TEST(TakeoffTest, RegularTakeoffRamp)
|
||||
{
|
||||
TakeoffHandling takeoff;
|
||||
takeoff.setSpoolupTime(1.f);
|
||||
takeoff.setTakeoffRampTime(2.0);
|
||||
takeoff.setTakeoffRampTime(2.f);
|
||||
takeoff.generateInitialRampValue(CONSTANTS_ONE_G / 0.5f);
|
||||
|
||||
// disarmed, landed, don't want takeoff
|
||||
|
||||
@@ -37,13 +37,13 @@
|
||||
* e.g. in Missions, RTL, Goto if the waypoint does not specify differently
|
||||
*
|
||||
* @unit m/s
|
||||
* @min 3.0
|
||||
* @max 20.0
|
||||
* @min 3
|
||||
* @max 20
|
||||
* @decimal 0
|
||||
* @increment 1
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(MPC_XY_CRUISE, 5.0f);
|
||||
PARAM_DEFINE_FLOAT(MPC_XY_CRUISE, 5.f);
|
||||
|
||||
/**
|
||||
* Ascent velocity in autonomous modes
|
||||
@@ -52,7 +52,7 @@ PARAM_DEFINE_FLOAT(MPC_XY_CRUISE, 5.0f);
|
||||
*
|
||||
* @unit m/s
|
||||
* @min 0.5
|
||||
* @max 8.0
|
||||
* @max 8
|
||||
* @decimal 1
|
||||
* @increment 0.5
|
||||
* @group Multicopter Position Control
|
||||
@@ -66,7 +66,7 @@ PARAM_DEFINE_FLOAT(MPC_Z_V_AUTO_UP, 3.f);
|
||||
*
|
||||
* @unit m/s
|
||||
* @min 0.5
|
||||
* @max 4.0
|
||||
* @max 4
|
||||
* @decimal 1
|
||||
* @increment 0.5
|
||||
* @group Multicopter Position Control
|
||||
@@ -79,13 +79,13 @@ PARAM_DEFINE_FLOAT(MPC_Z_V_AUTO_DN, 1.5f);
|
||||
* When piloting manually, this parameter is only used in MPC_POS_MODE 4.
|
||||
*
|
||||
* @unit m/s^2
|
||||
* @min 2.0
|
||||
* @max 15.0
|
||||
* @min 2
|
||||
* @max 15
|
||||
* @decimal 1
|
||||
* @increment 1
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(MPC_ACC_HOR, 3.0f);
|
||||
PARAM_DEFINE_FLOAT(MPC_ACC_HOR, 3.f);
|
||||
|
||||
/**
|
||||
* Jerk limit in autonomous modes
|
||||
@@ -94,19 +94,19 @@ PARAM_DEFINE_FLOAT(MPC_ACC_HOR, 3.0f);
|
||||
* A lower value leads to smoother vehicle motions but also limited agility.
|
||||
*
|
||||
* @unit m/s^3
|
||||
* @min 1.0
|
||||
* @max 80.0
|
||||
* @min 1
|
||||
* @max 80
|
||||
* @decimal 1
|
||||
* @increment 1
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(MPC_JERK_AUTO, 4.0f);
|
||||
PARAM_DEFINE_FLOAT(MPC_JERK_AUTO, 4.f);
|
||||
|
||||
/**
|
||||
* Proportional gain for horizontal trajectory position error
|
||||
*
|
||||
* @min 0.1
|
||||
* @max 1.0
|
||||
* @max 1
|
||||
* @decimal 1
|
||||
* @increment 0.1
|
||||
* @group Multicopter Position Control
|
||||
@@ -125,12 +125,12 @@ PARAM_DEFINE_FLOAT(MPC_XY_TRAJ_P, 0.5f);
|
||||
* capabilities of the vehicle.
|
||||
*
|
||||
* @min 0.1
|
||||
* @max 10.0
|
||||
* @max 10
|
||||
* @decimal 1
|
||||
* @increment 1
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(MPC_XY_ERR_MAX, 2.0f);
|
||||
PARAM_DEFINE_FLOAT(MPC_XY_ERR_MAX, 2.f);
|
||||
|
||||
/**
|
||||
* Max yaw rate in autonomous modes
|
||||
@@ -139,13 +139,13 @@ PARAM_DEFINE_FLOAT(MPC_XY_ERR_MAX, 2.0f);
|
||||
* control output and mixer saturation.
|
||||
*
|
||||
* @unit deg/s
|
||||
* @min 0.0
|
||||
* @max 360.0
|
||||
* @min 0
|
||||
* @max 360
|
||||
* @decimal 0
|
||||
* @increment 5
|
||||
* @group Multicopter Attitude Control
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(MPC_YAWRAUTO_MAX, 45.0f);
|
||||
PARAM_DEFINE_FLOAT(MPC_YAWRAUTO_MAX, 45.f);
|
||||
|
||||
/**
|
||||
* Heading behavior in autonomous modes
|
||||
|
||||
@@ -42,15 +42,15 @@
|
||||
* @increment 0.1
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(MPC_Z_P, 1.0f);
|
||||
PARAM_DEFINE_FLOAT(MPC_Z_P, 1.f);
|
||||
|
||||
/**
|
||||
* Proportional gain for horizontal position error
|
||||
*
|
||||
* Defined as corrective velocity in m/s per m position error
|
||||
*
|
||||
* @min 0.0
|
||||
* @max 2.0
|
||||
* @min 0
|
||||
* @max 2
|
||||
* @decimal 1
|
||||
* @increment 0.1
|
||||
* @group Multicopter Position Control
|
||||
@@ -62,13 +62,13 @@ PARAM_DEFINE_FLOAT(MPC_XY_P, 0.95f);
|
||||
*
|
||||
* Defined as corrective acceleration in m/s^2 per m/s velocity error
|
||||
*
|
||||
* @min 2.0
|
||||
* @max 15.0
|
||||
* @min 2
|
||||
* @max 15
|
||||
* @decimal 1
|
||||
* @increment 0.1
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(MPC_Z_VEL_P_ACC, 4.0f);
|
||||
PARAM_DEFINE_FLOAT(MPC_Z_VEL_P_ACC, 4.f);
|
||||
|
||||
/**
|
||||
* Proportional gain for horizontal velocity error
|
||||
@@ -76,7 +76,7 @@ PARAM_DEFINE_FLOAT(MPC_Z_VEL_P_ACC, 4.0f);
|
||||
* Defined as corrective acceleration in m/s^2 per m/s velocity error
|
||||
*
|
||||
* @min 1.2
|
||||
* @max 5.0
|
||||
* @max 5
|
||||
* @decimal 1
|
||||
* @increment 0.1
|
||||
* @group Multicopter Position Control
|
||||
@@ -89,12 +89,12 @@ PARAM_DEFINE_FLOAT(MPC_XY_VEL_P_ACC, 1.8f);
|
||||
* Defined as corrective acceleration in m/s^2 per m velocity integral
|
||||
*
|
||||
* @min 0.2
|
||||
* @max 3.0
|
||||
* @max 3
|
||||
* @decimal 1
|
||||
* @increment 0.1
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(MPC_Z_VEL_I_ACC, 2.0f);
|
||||
PARAM_DEFINE_FLOAT(MPC_Z_VEL_I_ACC, 2.f);
|
||||
|
||||
/**
|
||||
* Integral gain for horizontal velocity error
|
||||
@@ -102,8 +102,8 @@ PARAM_DEFINE_FLOAT(MPC_Z_VEL_I_ACC, 2.0f);
|
||||
* Defined as correction acceleration in m/s^2 per m velocity integral
|
||||
* Allows to eliminate steady state errors in disturbances like wind.
|
||||
*
|
||||
* @min 0.0
|
||||
* @max 60.0
|
||||
* @min 0
|
||||
* @max 60
|
||||
* @decimal 2
|
||||
* @increment 0.02
|
||||
* @group Multicopter Position Control
|
||||
@@ -115,13 +115,13 @@ PARAM_DEFINE_FLOAT(MPC_XY_VEL_I_ACC, 0.4f);
|
||||
*
|
||||
* Defined as corrective acceleration in m/s^2 per m/s^2 velocity derivative
|
||||
*
|
||||
* @min 0.0
|
||||
* @max 2.0
|
||||
* @min 0
|
||||
* @max 2
|
||||
* @decimal 2
|
||||
* @increment 0.02
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(MPC_Z_VEL_D_ACC, 0.0f);
|
||||
PARAM_DEFINE_FLOAT(MPC_Z_VEL_D_ACC, 0.f);
|
||||
|
||||
/**
|
||||
* Differential gain for horizontal velocity error
|
||||
@@ -129,7 +129,7 @@ PARAM_DEFINE_FLOAT(MPC_Z_VEL_D_ACC, 0.0f);
|
||||
* Defined as corrective acceleration in m/s^2 per m/s^2 velocity derivative
|
||||
*
|
||||
* @min 0.1
|
||||
* @max 2.0
|
||||
* @max 2
|
||||
* @decimal 2
|
||||
* @increment 0.02
|
||||
* @group Multicopter Position Control
|
||||
|
||||
@@ -38,13 +38,13 @@
|
||||
* Any higher value is truncated.
|
||||
*
|
||||
* @unit m/s
|
||||
* @min 0.0
|
||||
* @max 20.0
|
||||
* @min 0
|
||||
* @max 20
|
||||
* @decimal 0
|
||||
* @increment 1
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(MPC_XY_VEL_MAX, 12.0f);
|
||||
PARAM_DEFINE_FLOAT(MPC_XY_VEL_MAX, 12.f);
|
||||
|
||||
/**
|
||||
* Maximum tilt angle in air
|
||||
@@ -53,13 +53,13 @@ PARAM_DEFINE_FLOAT(MPC_XY_VEL_MAX, 12.0f);
|
||||
* Any higher value is truncated.
|
||||
*
|
||||
* @unit deg
|
||||
* @min 20.0
|
||||
* @max 89.0
|
||||
* @min 20
|
||||
* @max 89
|
||||
* @decimal 0
|
||||
* @increment 1
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(MPC_TILTMAX_AIR, 45.0f);
|
||||
PARAM_DEFINE_FLOAT(MPC_TILTMAX_AIR, 45.f);
|
||||
|
||||
/**
|
||||
* Maximum tilt during inital takeoff ramp
|
||||
@@ -67,13 +67,13 @@ PARAM_DEFINE_FLOAT(MPC_TILTMAX_AIR, 45.0f);
|
||||
* Tighter tilt limit during takeoff to avoid tip over.
|
||||
*
|
||||
* @unit deg
|
||||
* @min 5.0
|
||||
* @max 89.0
|
||||
* @min 5
|
||||
* @max 89
|
||||
* @decimal 0
|
||||
* @increment 1
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(MPC_TILTMAX_LND, 12.0f);
|
||||
PARAM_DEFINE_FLOAT(MPC_TILTMAX_LND, 12.f);
|
||||
|
||||
/**
|
||||
* Minimum collective thrust in climb rate controlled modes
|
||||
@@ -96,10 +96,10 @@ PARAM_DEFINE_FLOAT(MPC_THR_MIN, 0.12f);
|
||||
* Limit allowed thrust e.g. for indoor test of overpowered vehicle.
|
||||
*
|
||||
* @unit norm
|
||||
* @min 0.0
|
||||
* @max 1.0
|
||||
* @min 0
|
||||
* @max 1
|
||||
* @decimal 2
|
||||
* @increment 0.05
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(MPC_THR_MAX, 1.0f);
|
||||
PARAM_DEFINE_FLOAT(MPC_THR_MAX, 1.f);
|
||||
|
||||
@@ -58,13 +58,13 @@ PARAM_DEFINE_INT32(MPC_POS_MODE, 4);
|
||||
* using MPC_VEL_MAN_SIDE and MPC_VEL_MAN_BACK, respectively.
|
||||
*
|
||||
* @unit m/s
|
||||
* @min 3.0
|
||||
* @max 20.0
|
||||
* @min 3
|
||||
* @max 20
|
||||
* @increment 1
|
||||
* @decimal 0
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(MPC_VEL_MANUAL, 10.0f);
|
||||
PARAM_DEFINE_FLOAT(MPC_VEL_MANUAL, 10.f);
|
||||
|
||||
/**
|
||||
* Maximum sideways velocity in Position mode
|
||||
@@ -73,13 +73,13 @@ PARAM_DEFINE_FLOAT(MPC_VEL_MANUAL, 10.0f);
|
||||
* MPC_VEL_MANUAL then MPC_VEL_MANUAL is used.
|
||||
*
|
||||
* @unit m/s
|
||||
* @min -1.0
|
||||
* @max 20.0
|
||||
* @min -1
|
||||
* @max 20
|
||||
* @increment 1
|
||||
* @decimal 0
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(MPC_VEL_MAN_SIDE, -1.0f);
|
||||
PARAM_DEFINE_FLOAT(MPC_VEL_MAN_SIDE, -1.f);
|
||||
|
||||
/**
|
||||
* Maximum backward velocity in Position mode
|
||||
@@ -88,13 +88,13 @@ PARAM_DEFINE_FLOAT(MPC_VEL_MAN_SIDE, -1.0f);
|
||||
* MPC_VEL_MANUAL then MPC_VEL_MANUAL is used.
|
||||
*
|
||||
* @unit m/s
|
||||
* @min -1.0
|
||||
* @max 20.0
|
||||
* @min -1
|
||||
* @max 20
|
||||
* @increment 1
|
||||
* @decimal 0
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(MPC_VEL_MAN_BACK, -1.0f);
|
||||
PARAM_DEFINE_FLOAT(MPC_VEL_MAN_BACK, -1.f);
|
||||
|
||||
/**
|
||||
* Maximum ascent velocity in manually piloted climb rate controlled modes and offboard
|
||||
@@ -103,7 +103,7 @@ PARAM_DEFINE_FLOAT(MPC_VEL_MAN_BACK, -1.0f);
|
||||
*
|
||||
* @unit m/s
|
||||
* @min 0.5
|
||||
* @max 8.0
|
||||
* @max 8
|
||||
* @increment 0.1
|
||||
* @decimal 1
|
||||
* @group Multicopter Position Control
|
||||
@@ -117,7 +117,7 @@ PARAM_DEFINE_FLOAT(MPC_Z_VEL_MAX_UP, 3.f);
|
||||
*
|
||||
* @unit m/s
|
||||
* @min 0.5
|
||||
* @max 4.0
|
||||
* @max 4
|
||||
* @increment 0.1
|
||||
* @decimal 1
|
||||
* @group Multicopter Position Control
|
||||
@@ -133,13 +133,13 @@ PARAM_DEFINE_FLOAT(MPC_Z_VEL_MAX_DN, 1.5f);
|
||||
* 4 use MPC_ACC_HOR instead
|
||||
*
|
||||
* @unit m/s^2
|
||||
* @min 2.0
|
||||
* @max 15.0
|
||||
* @min 2
|
||||
* @max 15
|
||||
* @increment 1
|
||||
* @decimal 2
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(MPC_ACC_HOR_MAX, 5.0f);
|
||||
PARAM_DEFINE_FLOAT(MPC_ACC_HOR_MAX, 5.f);
|
||||
|
||||
/**
|
||||
* Maximum horizontal and vertical jerk in Position/Altitude mode
|
||||
@@ -154,20 +154,20 @@ PARAM_DEFINE_FLOAT(MPC_ACC_HOR_MAX, 5.0f);
|
||||
*
|
||||
* @unit m/s^3
|
||||
* @min 0.5
|
||||
* @max 500.0
|
||||
* @max 500
|
||||
* @decimal 0
|
||||
* @increment 1
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(MPC_JERK_MAX, 8.0f);
|
||||
PARAM_DEFINE_FLOAT(MPC_JERK_MAX, 8.f);
|
||||
|
||||
/**
|
||||
* Deadzone for sticks in manual piloted modes
|
||||
*
|
||||
* Does not apply to manual throttle and direct attitude piloting by stick.
|
||||
*
|
||||
* @min 0.0
|
||||
* @max 1.0
|
||||
* @min 0
|
||||
* @max 1
|
||||
* @decimal 2
|
||||
* @increment 0.01
|
||||
* @group Multicopter Position Control
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
* @max 5
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(MPC_TKO_RAMP_T, 3.0f);
|
||||
PARAM_DEFINE_FLOAT(MPC_TKO_RAMP_T, 3.f);
|
||||
|
||||
/**
|
||||
* Takeoff climb rate
|
||||
@@ -69,7 +69,7 @@ PARAM_DEFINE_FLOAT(MPC_TKO_SPEED, 1.5f);
|
||||
* @decimal 1
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(MPC_LAND_ALT1, 10.0f);
|
||||
PARAM_DEFINE_FLOAT(MPC_LAND_ALT1, 10.f);
|
||||
|
||||
/**
|
||||
* Altitude for 2. step of slow landing (landing)
|
||||
@@ -84,7 +84,7 @@ PARAM_DEFINE_FLOAT(MPC_LAND_ALT1, 10.0f);
|
||||
* @decimal 1
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(MPC_LAND_ALT2, 5.0f);
|
||||
PARAM_DEFINE_FLOAT(MPC_LAND_ALT2, 5.f);
|
||||
|
||||
/**
|
||||
* Altitude for 3. step of slow landing
|
||||
@@ -99,7 +99,7 @@ PARAM_DEFINE_FLOAT(MPC_LAND_ALT2, 5.0f);
|
||||
* @decimal 1
|
||||
* @group Multicopter Position Control
|
||||
*/
|
||||
PARAM_DEFINE_FLOAT(MPC_LAND_ALT3, 1.0f);
|
||||
PARAM_DEFINE_FLOAT(MPC_LAND_ALT3, 1.f);
|
||||
|
||||
/**
|
||||
* Landing descend rate
|
||||
|
||||
Reference in New Issue
Block a user