flight_mode_manager: publish empty vehicle constraints when no task is active

This commit is contained in:
Daniel Mesham
2024-05-21 15:09:07 +02:00
parent 664a0f2cda
commit a9272b4698
3 changed files with 6 additions and 10 deletions
@@ -117,6 +117,12 @@ void FlightModeManager::Run()
if (isAnyTaskActive()) {
generateTrajectorySetpoint(dt, vehicle_local_position);
} else {
// Publish empty constraints (constraints from previous flight tasks must be overridden)
vehicle_constraints_s vehicle_constraints = FlightTask::empty_constraints;
vehicle_constraints.timestamp = time_stamp_now;
_vehicle_constraints_pub.publish(vehicle_constraints);
}
}
@@ -123,14 +123,6 @@ void GotoControl::update(const float dt, const matrix::Vector3f &position, const
trajectory_setpoint.timestamp = goto_setpoint.timestamp;
_trajectory_setpoint_pub.publish(trajectory_setpoint);
vehicle_constraints_s vehicle_constraints{
.timestamp = goto_setpoint.timestamp,
.speed_up = NAN,
.speed_down = NAN,
.want_takeoff = false
};
_vehicle_constraints_pub.publish(vehicle_constraints);
}
void GotoControl::resetPositionSmoother(const matrix::Vector3f &position)
@@ -51,7 +51,6 @@
#include <uORB/Subscription.hpp>
#include <uORB/topics/goto_setpoint.h>
#include <uORB/topics/trajectory_setpoint.h>
#include <uORB/topics/vehicle_constraints.h>
class GotoControl
{
@@ -117,7 +116,6 @@ private:
uORB::SubscriptionData<goto_setpoint_s> _goto_setpoint_sub{ORB_ID(goto_setpoint)};
uORB::Publication<trajectory_setpoint_s> _trajectory_setpoint_pub{ORB_ID(trajectory_setpoint)};
uORB::Publication<vehicle_constraints_s> _vehicle_constraints_pub{ORB_ID(vehicle_constraints)};
PositionSmoothing _position_smoothing;
HeadingSmoothing _heading_smoothing;