From 51eb1b1ebdb7271ca83d343f9c6e90bc570d52e7 Mon Sep 17 00:00:00 2001 From: Radu Raul <raul.radu@skywarder.eu> Date: Sat, 29 Jul 2023 11:11:05 +0200 Subject: [PATCH] [WingController] PIController constants are now set in the config file --- src/boards/Parafoil/Configs/WingConfig.h | 3 +++ src/boards/Parafoil/Wing/AutomaticWingAlgorithm.cpp | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/boards/Parafoil/Configs/WingConfig.h b/src/boards/Parafoil/Configs/WingConfig.h index 72b5f04fc..93b9ffae0 100644 --- a/src/boards/Parafoil/Configs/WingConfig.h +++ b/src/boards/Parafoil/Configs/WingConfig.h @@ -71,6 +71,9 @@ constexpr int WING_ALTITUDE_TRIGGER_CONFIDENCE = 10; // [number of sample] constexpr int WING_ALTITUDE_TRIGGER_FALL = 50; // [meters] constexpr int WING_STRAIGHT_FLIGHT_TIMEOUT = 15 * 1000000; // [us] +constexpr float PI_CONTROLLER_SATURATION_MAX_LIMIT = 0.1; +constexpr float PI_CONTROLLER_SATURATION_MIN_LIMIT = -0.1; + struct WingConfigStruct { diff --git a/src/boards/Parafoil/Wing/AutomaticWingAlgorithm.cpp b/src/boards/Parafoil/Wing/AutomaticWingAlgorithm.cpp index 5e41d446c..796bfb9a4 100644 --- a/src/boards/Parafoil/Wing/AutomaticWingAlgorithm.cpp +++ b/src/boards/Parafoil/Wing/AutomaticWingAlgorithm.cpp @@ -45,8 +45,9 @@ AutomaticWingAlgorithm::AutomaticWingAlgorithm(float Kp, float Ki, GuidanceAlgorithm& guidance) : WingAlgorithm(servo1, servo2), guidance(guidance) { - controller = - new PIController(Kp, Ki, WING_UPDATE_PERIOD / 1000.0f, -0.1, 0.1); + controller = new PIController(Kp, Ki, WING_UPDATE_PERIOD / 1000.0f, + PI_CONTROLLER_SATURATION_MIN_LIMIT, + PI_CONTROLLER_SATURATION_MAX_LIMIT); } AutomaticWingAlgorithm::~AutomaticWingAlgorithm() { delete (controller); } -- GitLab