From 233963b2d5710ecc70277258c61a584a0ce9faf1 Mon Sep 17 00:00:00 2001 From: chfriedrich98 Date: Mon, 11 Nov 2024 16:08:57 +0100 Subject: [PATCH] ackermann: deprecate RA_MISS_SPD_DEF and update airframe default params --- .../airframes/4012_gz_rover_ackermann | 12 +++++++----- .../airframes/51001_axial_scx10_2_trail_honcho | 18 ++++++++++-------- .../RoverAckermannGuidance.cpp | 8 ++------ .../RoverAckermannGuidance.hpp | 1 - src/modules/rover_ackermann/module.yaml | 18 ++---------------- 5 files changed, 21 insertions(+), 36 deletions(-) diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/4012_gz_rover_ackermann b/ROMFS/px4fmu_common/init.d-posix/airframes/4012_gz_rover_ackermann index 9dbab3fcfa..9e54c40159 100644 --- a/ROMFS/px4fmu_common/init.d-posix/airframes/4012_gz_rover_ackermann +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/4012_gz_rover_ackermann @@ -15,14 +15,16 @@ param set-default SIM_GZ_EN 1 # Gazebo bridge param set-default NAV_ACC_RAD 0.5 param set-default RA_ACC_RAD_GAIN 2 param set-default RA_ACC_RAD_MAX 3 -param set-default RA_MAX_ACCEL 1.5 -param set-default RA_MAX_DECEL 10 +param set-default RA_LAT_ACCEL_I 0.01 +param set-default RA_LAT_ACCEL_P 0.1 +param set-default RA_MAX_ACCEL 3 +param set-default RA_MAX_DECEL 6 param set-default RA_MAX_JERK 15 -param set-default RA_MAX_SPEED 5 -param set-default RA_MAX_THR_SPEED 6 +param set-default RA_MAX_LAT_ACCEL 4 +param set-default RA_MAX_SPEED 3 param set-default RA_MAX_STR_ANG 0.5236 param set-default RA_MAX_STR_RATE 360 -param set-default RA_MISS_SPD_DEF 5 +param set-default RA_MAX_THR_SPEED 3.1 param set-default RA_SPEED_I 0.01 param set-default RA_SPEED_P 0.1 param set-default RA_WHEEL_BASE 0.321 diff --git a/ROMFS/px4fmu_common/init.d/airframes/51001_axial_scx10_2_trail_honcho b/ROMFS/px4fmu_common/init.d/airframes/51001_axial_scx10_2_trail_honcho index 6f50c7f4a1..26363414ed 100644 --- a/ROMFS/px4fmu_common/init.d/airframes/51001_axial_scx10_2_trail_honcho +++ b/ROMFS/px4fmu_common/init.d/airframes/51001_axial_scx10_2_trail_honcho @@ -19,16 +19,18 @@ param set-default BAT1_N_CELLS 3 param set-default NAV_ACC_RAD 0.5 param set-default RA_ACC_RAD_GAIN 2 param set-default RA_ACC_RAD_MAX 3 -param set-default RA_MAX_ACCEL 0.5 -param set-default RA_MAX_JERK 10 -param set-default RA_MAX_SPEED 2.7 +param set-default RA_LAT_ACCEL_I 0.01 +param set-default RA_LAT_ACCEL_P 0.1 +param set-default RA_MAX_ACCEL 1.5 +param set-default RA_MAX_DECEL 10 +param set-default RA_MAX_JERK 20 +param set-default RA_MAX_LAT_ACCEL 3 +param set-default RA_MAX_SPEED 2.5 param set-default RA_MAX_STR_ANG 0.5236 param set-default RA_MAX_STR_RATE 270 -param set-default RA_MISS_VEL_DEF 2.7 -param set-default RA_MISS_VEL_GAIN 3.5 -param set-default RA_MISS_VEL_MIN 1 -param set-default RA_SPEED_I 0.1 -param set-default RA_SPEED_P 0.5 +param set-default RA_MAX_THR_SPEED 2.8 +param set-default RA_SPEED_I 0.01 +param set-default RA_SPEED_P 0.1 param set-default RA_WHEEL_BASE 0.321 # Pure pursuit parameters diff --git a/src/modules/rover_ackermann/RoverAckermannGuidance/RoverAckermannGuidance.cpp b/src/modules/rover_ackermann/RoverAckermannGuidance/RoverAckermannGuidance.cpp index 367029f597..e8c30083c4 100644 --- a/src/modules/rover_ackermann/RoverAckermannGuidance/RoverAckermannGuidance.cpp +++ b/src/modules/rover_ackermann/RoverAckermannGuidance/RoverAckermannGuidance.cpp @@ -204,12 +204,8 @@ void RoverAckermannGuidance::updateWaypointsAndAcceptanceRadius() } // Waypoint cruising speed - if (position_setpoint_triplet.current.cruising_speed > 0.f) { - _cruising_speed = math::constrain(position_setpoint_triplet.current.cruising_speed, 0.f, _param_ra_max_speed.get()); - - } else { - _cruising_speed = _param_ra_miss_spd_def.get(); - } + _cruising_speed = position_setpoint_triplet.current.cruising_speed > 0.f ? math::constrain( + position_setpoint_triplet.current.cruising_speed, 0.f, _param_ra_max_speed.get()) : _param_ra_max_speed.get(); } float RoverAckermannGuidance::updateAcceptanceRadius(const float waypoint_transition_angle, diff --git a/src/modules/rover_ackermann/RoverAckermannGuidance/RoverAckermannGuidance.hpp b/src/modules/rover_ackermann/RoverAckermannGuidance/RoverAckermannGuidance.hpp index e8f74c1787..752b5b3417 100644 --- a/src/modules/rover_ackermann/RoverAckermannGuidance/RoverAckermannGuidance.hpp +++ b/src/modules/rover_ackermann/RoverAckermannGuidance/RoverAckermannGuidance.hpp @@ -204,7 +204,6 @@ private: (ParamFloat) _param_ra_max_steer_angle, (ParamFloat) _param_ra_acc_rad_max, (ParamFloat) _param_ra_acc_rad_gain, - (ParamFloat) _param_ra_miss_spd_def, (ParamFloat) _param_ra_p_speed, (ParamFloat) _param_ra_i_speed, (ParamFloat) _param_ra_max_speed, diff --git a/src/modules/rover_ackermann/module.yaml b/src/modules/rover_ackermann/module.yaml index 5d1ffb9f2a..0c779f494f 100644 --- a/src/modules/rover_ackermann/module.yaml +++ b/src/modules/rover_ackermann/module.yaml @@ -57,17 +57,6 @@ parameters: decimal: 2 default: 2 - RA_MISS_SPD_DEF: - description: - short: Default rover speed during a mission - type: float - unit: m/s - min: 0 - max: 100 - increment: 0.01 - decimal: 2 - default: 2 - RA_SPEED_P: description: short: Proportional gain for ground speed controller @@ -122,10 +111,7 @@ parameters: description: short: Maximum acceleration for the rover long: | - This is used for the acceleration slew rate, the feed-forward term - for the speed controller during missions and the corner slow down effect. - Note: For the corner slow down effect RA_MAX_JERK, RA_MISS_VEL_GAIN and - RA_MISS_VEL_MIN also have to be set. + This is used for the acceleration slew rate. type: float unit: m/s^2 min: -1 @@ -155,7 +141,7 @@ parameters: long: | Limit for forwards acc/deceleration change. This is used for the corner slow down effect. - Note: RA_MAX_ACCEL also has to be set for this to be enabled. + Note: RA_MAX_DECEL also has to be set for this to be enabled. type: float unit: m/s^3 min: -1