From bf9a18a20017fe22e7943296da17a5710fd798b5 Mon Sep 17 00:00:00 2001 From: Simone Guscetti <simone@yuneecresearch.com> Date: Thu, 1 Nov 2018 17:43:49 +0100 Subject: [PATCH] FlightTask: Add interface for landing gear --- .../FlightTasks/tasks/FlightTask/FlightTask.cpp | 4 ++-- .../FlightTasks/tasks/FlightTask/FlightTask.hpp | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/lib/FlightTasks/tasks/FlightTask/FlightTask.cpp b/src/lib/FlightTasks/tasks/FlightTask/FlightTask.cpp index 1693c4ab00..7963c121a8 100644 --- a/src/lib/FlightTasks/tasks/FlightTask/FlightTask.cpp +++ b/src/lib/FlightTasks/tasks/FlightTask/FlightTask.cpp @@ -6,7 +6,8 @@ constexpr uint64_t FlightTask::_timeout; // First index of empty_setpoint corresponds to time-stamp and requires a finite number. const vehicle_local_position_setpoint_s FlightTask::empty_setpoint = {0, NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN, NAN, {NAN, NAN, NAN}}; -const vehicle_constraints_s FlightTask::empty_constraints = {0, NAN, NAN, NAN, NAN, NAN, NAN, NAN, vehicle_constraints_s::GEAR_KEEP, {}}; +const vehicle_constraints_s FlightTask::empty_constraints = {0, NAN, NAN, NAN, NAN, NAN, NAN, NAN, {}}; +const landing_gear_s FlightTask::landing_gear_default_keep = {0, landing_gear_s::GEAR_KEEP, {}}; const vehicle_trajectory_waypoint_s FlightTask::empty_trajectory_waypoint = {0, 0, {0, 0, 0, 0, 0, 0, 0}, { {0, {NAN, NAN, NAN}, {NAN, NAN, NAN}, {NAN, NAN, NAN}, NAN, NAN, false, {0, 0, 0}}, {0, {NAN, NAN, NAN}, {NAN, NAN, NAN}, {NAN, NAN, NAN}, NAN, NAN, false, {0, 0, 0}}, @@ -148,7 +149,6 @@ void FlightTask::_setDefaultConstraints() _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()); - _constraints.landing_gear = vehicle_constraints_s::GEAR_KEEP; _constraints.min_distance_to_ground = NAN; _constraints.max_distance_to_ground = NAN; } diff --git a/src/lib/FlightTasks/tasks/FlightTask/FlightTask.hpp b/src/lib/FlightTasks/tasks/FlightTask/FlightTask.hpp index 9efe587ee4..b19d37506e 100644 --- a/src/lib/FlightTasks/tasks/FlightTask/FlightTask.hpp +++ b/src/lib/FlightTasks/tasks/FlightTask/FlightTask.hpp @@ -45,6 +45,7 @@ #include <drivers/drv_hrt.h> #include <matrix/matrix/math.hpp> #include <uORB/Subscription.hpp> +#include <uORB/topics/landing_gear.h> #include <uORB/topics/vehicle_local_position.h> #include <uORB/topics/vehicle_local_position_setpoint.h> #include <uORB/topics/vehicle_command.h> @@ -114,6 +115,13 @@ public: */ const vehicle_constraints_s &getConstraints() { return _constraints; } + /** + * Get landing gear position. + * The constraints can vary with task. + * @return landing gear + */ + const landing_gear_s &getGear() { return _gear; } + /** * Get avoidance desired waypoint * @return desired waypoints @@ -132,6 +140,11 @@ public: */ static const vehicle_constraints_s empty_constraints; + /** + * default landing gear state + */ + static const landing_gear_s landing_gear_default_keep; + /** * Empty desired waypoints. * All waypoints are set to NAN. @@ -215,6 +228,8 @@ protected: */ vehicle_constraints_s _constraints{}; + landing_gear_s _gear{}; + /** * Desired waypoints. * Goals set by the FCU to be sent to the obstacle avoidance system. -- GitLab