41 #include <px4_platform_common/defines.h> 42 #include <px4_platform_common/module.h> 43 #include <px4_platform_common/module_params.h> 44 #include <px4_platform_common/posix.h> 45 #include <px4_platform_common/px4_work_queue/ScheduledWorkItem.hpp> 77 static int print_usage(
const char *reason =
nullptr);
150 (ParamFloat<px4::params::MC_ROLLRATE_P>) _param_mc_rollrate_p,
151 (ParamFloat<px4::params::MC_ROLLRATE_I>) _param_mc_rollrate_i,
152 (ParamFloat<px4::params::MC_RR_INT_LIM>) _param_mc_rr_int_lim,
153 (ParamFloat<px4::params::MC_ROLLRATE_D>) _param_mc_rollrate_d,
154 (ParamFloat<px4::params::MC_ROLLRATE_FF>) _param_mc_rollrate_ff,
155 (ParamFloat<px4::params::MC_ROLLRATE_K>) _param_mc_rollrate_k,
157 (ParamFloat<px4::params::MC_PITCHRATE_P>) _param_mc_pitchrate_p,
158 (ParamFloat<px4::params::MC_PITCHRATE_I>) _param_mc_pitchrate_i,
159 (ParamFloat<px4::params::MC_PR_INT_LIM>) _param_mc_pr_int_lim,
160 (ParamFloat<px4::params::MC_PITCHRATE_D>) _param_mc_pitchrate_d,
161 (ParamFloat<px4::params::MC_PITCHRATE_FF>) _param_mc_pitchrate_ff,
162 (ParamFloat<px4::params::MC_PITCHRATE_K>) _param_mc_pitchrate_k,
164 (ParamFloat<px4::params::MC_YAWRATE_P>) _param_mc_yawrate_p,
165 (ParamFloat<px4::params::MC_YAWRATE_I>) _param_mc_yawrate_i,
166 (ParamFloat<px4::params::MC_YR_INT_LIM>) _param_mc_yr_int_lim,
167 (ParamFloat<px4::params::MC_YAWRATE_D>) _param_mc_yawrate_d,
168 (ParamFloat<px4::params::MC_YAWRATE_FF>) _param_mc_yawrate_ff,
169 (ParamFloat<px4::params::MC_YAWRATE_K>) _param_mc_yawrate_k,
171 (ParamFloat<px4::params::MC_DTERM_CUTOFF>) _param_mc_dterm_cutoff,
173 (ParamFloat<px4::params::MPC_MAN_Y_MAX>) _param_mpc_man_y_max,
175 (ParamFloat<px4::params::MC_ACRO_R_MAX>) _param_mc_acro_r_max,
176 (ParamFloat<px4::params::MC_ACRO_P_MAX>) _param_mc_acro_p_max,
177 (ParamFloat<px4::params::MC_ACRO_Y_MAX>) _param_mc_acro_y_max,
178 (ParamFloat<px4::params::MC_ACRO_EXPO>) _param_mc_acro_expo,
179 (ParamFloat<px4::params::MC_ACRO_EXPO_Y>) _param_mc_acro_expo_y,
180 (ParamFloat<px4::params::MC_ACRO_SUPEXPO>) _param_mc_acro_supexpo,
181 (ParamFloat<px4::params::MC_ACRO_SUPEXPOY>) _param_mc_acro_supexpoy,
183 (ParamFloat<px4::params::MC_RATT_TH>) _param_mc_ratt_th,
185 (ParamBool<px4::params::MC_BAT_SCALE_EN>) _param_mc_bat_scale_en,
187 (ParamInt<px4::params::CBRK_RATE_CTRL>) _param_cbrk_rate_ctrl
uORB::Subscription _manual_control_sp_sub
manual control setpoint subscription
void vehicle_status_poll()
bool _actuators_0_circuit_breaker_enabled
circuit breaker to suppress output
uORB::Subscription _v_rates_sp_sub
vehicle rates setpoint subscription
A class to implement a second order low pass filter on a Vector3f Based on LowPassFilter2p.hpp by Leonard Hall LeonardTHall@gmail.com
orb_advert_t _actuators_0_pub
attitude actuator controls publication
uORB::Publication< vehicle_rates_setpoint_s > _v_rates_sp_pub
rate setpoint publication
uORB::Subscription _vehicle_land_detected_sub
vehicle land detected subscription
orb_id_t _actuators_id
pointer to correct actuator controls0 uORB metadata structure
static int custom_command(int argc, char *argv[])
perf_counter_t _loop_perf
loop duration performance counter
static constexpr const float initial_update_rate_hz
loop update rate used for initialization
float get_landing_gear_state()
Get the landing gear state based on the manual control switch position.
PID 3 axis angular rate / angular velocity control.
landing_gear_s _landing_gear
uORB::Subscription _v_control_mode_sub
vehicle control mode subscription
uORB::Subscription _parameter_update_sub
parameter updates subscription
uORB::Subscription _vehicle_status_sub
vehicle status subscription
#define ORB_ID(_name)
Generates a pointer to the uORB metadata structure for a given topic.
float _battery_status_scale
float _thrust_sp
thrust setpoint
uORB::Subscription _landing_gear_sub
float _loop_update_rate_hz
current rate-controller loop update rate in [Hz]
uORB::PublicationMulti< rate_ctrl_status_s > _controller_status_pub
controller status publication
uORB::Subscription _battery_status_sub
battery status subscription
uORB::Publication< landing_gear_s > _landing_gear_pub
__BEGIN_DECLS typedef uint64_t hrt_abstime
Absolute time, in microsecond units.
__BEGIN_DECLS typedef void * orb_advert_t
ORB topic advertiser handle.
uORB::Subscription _motor_limits_sub
motor limits subscription
static int task_spawn(int argc, char *argv[])
RateControl _rate_control
class for rate control calculations
static int print_usage(const char *reason=nullptr)
void parameters_updated()
initialize some vectors/matrices from parameters
virtual ~MulticopterRateControl()
manual_control_setpoint_s _manual_control_sp
bool _gear_state_initialized
true if the gear state has been initialized
matrix::Vector3f _rates_sp
angular rates setpoint
int print_status() override
uORB::SubscriptionCallbackWorkItem _vehicle_angular_velocity_sub
__EXPORT hrt_abstime hrt_absolute_time(void)
Get absolute time in [us] (does not wrap).
vehicle_control_mode_s _v_control_mode
Performance measuring tools.
vehicle_status_s _vehicle_status