From 45a5f2aaa40032afaa389eb5799f59fdae2f0740 Mon Sep 17 00:00:00 2001 From: Lorenz Meier Date: Wed, 4 May 2016 22:49:36 +0200 Subject: [PATCH] MC vel control: Better defaults, better min and max gains --- .../mc_pos_control/mc_pos_control_params.c | 36 ++++++++++++++----- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/src/modules/mc_pos_control/mc_pos_control_params.c b/src/modules/mc_pos_control/mc_pos_control_params.c index b726dd4444..9f6fafa6a6 100644 --- a/src/modules/mc_pos_control/mc_pos_control_params.c +++ b/src/modules/mc_pos_control/mc_pos_control_params.c @@ -1,6 +1,6 @@ /**************************************************************************** * - * Copyright (c) 2013-2015 PX4 Development Team. All rights reserved. + * Copyright (c) 2013-2016 PX4 Development Team. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -110,6 +110,7 @@ PARAM_DEFINE_FLOAT(MPC_ALTCTL_DY, 0.0f); * @min 0.0 * @max 0.95 * @decimal 2 + * @increment 0.01 * @group Multicopter Position Control */ PARAM_DEFINE_FLOAT(MPC_THR_MAX, 0.9f); @@ -123,6 +124,7 @@ PARAM_DEFINE_FLOAT(MPC_THR_MAX, 0.9f); * @min 0.0 * @max 1.0 * @decimal 2 + * @increment 0.01 * @group Multicopter Position Control */ PARAM_DEFINE_FLOAT(MPC_MANTHR_MIN, 0.08f); @@ -139,6 +141,7 @@ PARAM_DEFINE_FLOAT(MPC_MANTHR_MIN, 0.08f); * @min 0.0 * @max 1.0 * @decimal 2 + * @increment 0.01 * @group Multicopter Position Control */ PARAM_DEFINE_FLOAT(MPC_MANTHR_MAX, 0.9f); @@ -147,6 +150,7 @@ PARAM_DEFINE_FLOAT(MPC_MANTHR_MAX, 0.9f); * Proportional gain for vertical position error * * @min 0.0 + * @max 1.5 * @decimal 2 * @group Multicopter Position Control */ @@ -155,7 +159,8 @@ PARAM_DEFINE_FLOAT(MPC_Z_P, 1.0f); /** * Proportional gain for vertical velocity error * - * @min 0.0 + * @min 0.1 + * @max 0.4 * @decimal 2 * @group Multicopter Position Control */ @@ -166,7 +171,8 @@ PARAM_DEFINE_FLOAT(MPC_Z_VEL_P, 0.2f); * * Non zero value allows hovering thrust estimation on stabilized or autonomous takeoff. * - * @min 0.0 + * @min 0.01 + * @max 0.1 * @decimal 3 * @group Multicopter Position Control */ @@ -176,6 +182,7 @@ PARAM_DEFINE_FLOAT(MPC_Z_VEL_I, 0.02f); * Differential gain for vertical velocity error * * @min 0.0 + * @max 0.1 * @decimal 3 * @group Multicopter Position Control */ @@ -210,6 +217,7 @@ PARAM_DEFINE_FLOAT(MPC_Z_FF, 0.5f); * Proportional gain for horizontal position error * * @min 0.0 + * @max 2.0 * @decimal 2 * @group Multicopter Position Control */ @@ -218,11 +226,12 @@ PARAM_DEFINE_FLOAT(MPC_XY_P, 1.25f); /** * Proportional gain for horizontal velocity error * - * @min 0.0 + * @min 0.06 + * @max 0.15 * @decimal 2 * @group Multicopter Position Control */ -PARAM_DEFINE_FLOAT(MPC_XY_VEL_P, 0.065f); +PARAM_DEFINE_FLOAT(MPC_XY_VEL_P, 0.09f); /** * Integral gain for horizontal velocity error @@ -230,6 +239,7 @@ PARAM_DEFINE_FLOAT(MPC_XY_VEL_P, 0.065f); * Non-zero value allows to resist wind. * * @min 0.0 + * @max 0.1 * @decimal 3 * @group Multicopter Position Control */ @@ -238,7 +248,8 @@ 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 + * @min 0.005 + * @max 0.1 * @decimal 3 * @group Multicopter Position Control */ @@ -252,7 +263,9 @@ PARAM_DEFINE_FLOAT(MPC_XY_VEL_D, 0.01f); * position stabilized mode (POSCTRL). * * @unit m/s - * @min 0.0 + * @min 3.0 + * @max 20.0 + * @increment 1 * @decimal 2 * @group Multicopter Position Control */ @@ -315,7 +328,7 @@ PARAM_DEFINE_FLOAT(MPC_TILTMAX_LND, 12.0f); * Landing descend rate * * @unit m/s - * @min 0.0 + * @min 0.2 * @decimal 1 * @group Multicopter Position Control */ @@ -325,7 +338,8 @@ PARAM_DEFINE_FLOAT(MPC_LAND_SPEED, 0.5f); * Takeoff climb rate * * @unit m/s - * @min 0.0 + * @min 1 + * @max 5 * @decimal 2 * @group Multicopter Position Control */ @@ -358,6 +372,7 @@ PARAM_DEFINE_FLOAT(MPC_MAN_P_MAX, 35.0f); * * @unit deg/s * @min 0.0 + * @max 400 * @decimal 1 * @group Multicopter Position Control */ @@ -378,6 +393,7 @@ PARAM_DEFINE_FLOAT(MPC_HOLD_XY_DZ, 0.1f); * * @unit m/s * @min 0.0 + * @max 3.0 * @decimal 2 * @group Multicopter Position Control */ @@ -388,6 +404,7 @@ PARAM_DEFINE_FLOAT(MPC_HOLD_MAX_XY, 0.8f); * * @unit m/s * @min 0.0 + * @max 3.0 * @decimal 2 * @group Multicopter Position Control */ @@ -398,6 +415,7 @@ PARAM_DEFINE_FLOAT(MPC_HOLD_MAX_Z, 0.6f); * * @unit Hz * @min 0.0 + * @max 10 * @decimal 2 * @group Multicopter Position Control */