compute and publish fixed-wing control power

This commit is contained in:
bresch
2021-10-25 13:41:31 +02:00
committed by Mathieu Bresciani
parent d84b0296d2
commit 8dfdb1e3db
2 changed files with 46 additions and 0 deletions
@@ -53,6 +53,7 @@
#include <uORB/Subscription.hpp>
#include <uORB/SubscriptionCallback.hpp>
#include <uORB/topics/actuator_controls.h>
#include <uORB/topics/actuator_controls_status.h>
#include <uORB/topics/airspeed_validated.h>
#include <uORB/topics/battery_status.h>
#include <uORB/topics/manual_control_setpoint.h>
@@ -112,6 +113,7 @@ private:
uORB::SubscriptionData<airspeed_validated_s> _airspeed_validated_sub{ORB_ID(airspeed_validated)};
uORB::Publication<actuator_controls_s> _actuators_0_pub;
uORB::Publication<actuator_controls_status_s> _actuator_controls_status_pub;
uORB::Publication<vehicle_attitude_setpoint_s> _attitude_sp_pub;
uORB::Publication<vehicle_rates_setpoint_s> _rate_sp_pub{ORB_ID(vehicle_rates_setpoint)};
uORB::PublicationMulti<rate_ctrl_status_s> _rate_ctrl_status_pub{ORB_ID(rate_ctrl_status)};
@@ -141,6 +143,10 @@ private:
bool _is_tailsitter{false};
float _energy_integration_time{0.0f};
float _control_energy[4] {};
float _control_prev[3] {};
DEFINE_PARAMETERS(
(ParamFloat<px4::params::FW_ACRO_X_MAX>) _param_fw_acro_x_max,
(ParamFloat<px4::params::FW_ACRO_Y_MAX>) _param_fw_acro_y_max,
@@ -217,6 +223,8 @@ private:
void control_flaps(const float dt);
void updateActuatorControlsStatus(float dt);
/**
* Update our local parameter cache.
*/