From 962c2eff61742d13d5e505f319e823c334ed254a Mon Sep 17 00:00:00 2001 From: Dennis Mannhart Date: Thu, 26 Apr 2018 11:22:18 +0200 Subject: [PATCH] FlightTask: rename mehtod and add default parameter for constraints --- src/lib/FlightTasks/tasks/FlightTask.cpp | 11 ++++++----- src/lib/FlightTasks/tasks/FlightTask.hpp | 25 +++++++++--------------- 2 files changed, 15 insertions(+), 21 deletions(-) diff --git a/src/lib/FlightTasks/tasks/FlightTask.cpp b/src/lib/FlightTasks/tasks/FlightTask.cpp index 6a43dd6e5e..38f1877dea 100644 --- a/src/lib/FlightTasks/tasks/FlightTask.cpp +++ b/src/lib/FlightTasks/tasks/FlightTask.cpp @@ -17,7 +17,7 @@ bool FlightTask::initializeSubscriptions(SubscriptionArray &subscription_array) bool FlightTask::activate() { _resetSetpoints(); - _updateSetpointLimits(); + _setDefaultConstraints(); _time_stamp_activate = hrt_absolute_time(); return true; } @@ -75,9 +75,10 @@ bool FlightTask::_evaluateVehicleLocalPosition() } } -void FlightTask::_updateSetpointLimits() +void FlightTask::_setDefaultConstraints() { - _limits.speed_NE_max = MPC_XY_VEL_MAX.get(); - _limits.speed_up_max = MPC_Z_VEL_MAX_UP.get(); - _limits.speed_dn_max = MPC_Z_VEL_MAX_DN.get(); + _constraints.speed_xy = MPC_XY_VEL_MAX.get(); + _constraints.speed_up = MPC_Z_VEL_MAX_UP.get(); + _constraints.speed_down = MPC_Z_VEL_MAX_DN.get(); + _constraints.tilt = math::radians(MPC_TILTMAX_AIR.get()); } diff --git a/src/lib/FlightTasks/tasks/FlightTask.hpp b/src/lib/FlightTasks/tasks/FlightTask.hpp index 62755b386b..f1e6545ba6 100644 --- a/src/lib/FlightTasks/tasks/FlightTask.hpp +++ b/src/lib/FlightTasks/tasks/FlightTask.hpp @@ -55,7 +55,10 @@ class FlightTask : public ModuleParams public: FlightTask() : ModuleParams(nullptr) - { _resetSetpoints(); } + { + _resetSetpoints(); + _constraints = empty_constraints; + } virtual ~FlightTask() = default; @@ -124,7 +127,6 @@ public: protected: - uORB::Subscription *_sub_vehicle_local_position{nullptr}; /** @@ -132,25 +134,15 @@ protected: */ void _resetSetpoints(); - /** - * Update Flighttask limits - */ - void virtual _updateSetpointLimits(); - /* * Check and update local position */ bool _evaluateVehicleLocalPosition(); /** - * @brief Setpoint limits + * Set constraints to default values */ - struct Limits { - float speed_NE_max = 1.0f; /**< maximum speed in NE-direction */ - float speed_up_max = 1.0f; /**< maximum speed upwards */ - float speed_dn_max = 1.0f; /**< maximum speed downwards */ - }; - Limits _limits; + virtual void _setDefaultConstraints(); /* Time abstraction */ static constexpr uint64_t _timeout = 500000; /**< maximal time in us before a loop or data times out */ @@ -190,6 +182,7 @@ protected: DEFINE_PARAMETERS_CUSTOM_PARENT(ModuleParams, (ParamFloat) MPC_XY_VEL_MAX, (ParamFloat) MPC_Z_VEL_MAX_DN, - (ParamFloat) MPC_Z_VEL_MAX_UP - ); + (ParamFloat) MPC_Z_VEL_MAX_UP, + (ParamFloat) MPC_TILTMAX_AIR + ) };