52 #include <px4_platform_common/px4_config.h> 53 #include <px4_platform_common/defines.h> 54 #include <px4_platform_common/posix.h> 55 #include <px4_platform_common/tasks.h> 56 #include <px4_platform_common/module.h> 57 #include <px4_platform_common/module_params.h> 96 static int print_usage(
const char *reason =
nullptr);
149 (ParamFloat<px4::params::GND_L1_PERIOD>) _param_l1_period,
150 (ParamFloat<px4::params::GND_L1_DAMPING>) _param_l1_damping,
151 (ParamFloat<px4::params::GND_L1_DIST>) _param_l1_distance,
153 (ParamFloat<px4::params::GND_SPEED_TRIM>) _param_gndspeed_trim,
154 (ParamFloat<px4::params::GND_SPEED_MAX>) _param_gndspeed_max,
156 (ParamInt<px4::params::GND_SP_CTRL_MODE>) _param_speed_control_mode,
157 (ParamFloat<px4::params::GND_SPEED_P>) _param_speed_p,
158 (ParamFloat<px4::params::GND_SPEED_I>) _param_speed_i,
159 (ParamFloat<px4::params::GND_SPEED_D>) _param_speed_d,
160 (ParamFloat<px4::params::GND_SPEED_IMAX>) _param_speed_imax,
161 (ParamFloat<px4::params::GND_SPEED_THR_SC>) _param_throttle_speed_scaler,
163 (ParamFloat<px4::params::GND_THR_MIN>) _param_throttle_min,
164 (ParamFloat<px4::params::GND_THR_MAX>) _param_throttle_max,
165 (ParamFloat<px4::params::GND_THR_CRUISE>) _param_throttle_cruise,
167 (ParamFloat<px4::params::GND_WHEEL_BASE>) _param_wheel_base,
168 (ParamFloat<px4::params::GND_MAX_ANG>) _param_max_turn_angle
void control_attitude(const vehicle_attitude_s &att, const vehicle_attitude_setpoint_s &att_sp)
uint8_t _pos_reset_counter
void control_velocity(const matrix::Vector3f ¤t_velocity, const position_setpoint_triplet_s &pos_sp_triplet)
RoverPositionControl operator=(const RoverPositionControl &other)=delete
API for the uORB lightweight object broker.
Definition of geo / math functions to perform geodesic calculations.
L1 Nonlinear Guidance Logic.
vehicle_local_position_s _local_pos
global vehicle position
sensor_combined_s _sensor_combined
int _vehicle_attitude_sub
uORB::Subscription _parameter_update_sub
ECL_L1_Pos_Controller _gnd_control
vehicle_global_position_s _global_pos
global vehicle position
bool control_position(const matrix::Vector2f &global_pos, const matrix::Vector3f &ground_speed, const position_setpoint_triplet_s &_pos_sp_triplet)
Control position.
manual_control_setpoint_s _manual
r/c channel data
High-resolution timer with callouts and timekeeping.
actuator_controls_s _act_controls
direct control of actuators
enum RoverPositionControl::UGV_POSCTRL_MODE UGV_POSCTRL_MODE_OTHER
used to check the mode in the last control loop iteration. Use to check if the last iteration was in ...
Implementation of L1 position control.
#define ORB_ID(_name)
Generates a pointer to the uORB metadata structure for a given topic.
void manual_control_setpoint_poll()
vehicle_attitude_s _vehicle_att
static void parameters_update()
update all parameters
void vehicle_control_mode_poll()
vehicle_control_mode_s _control_mode
control mode
void vehicle_attitude_poll()
hrt_abstime _control_position_last_called
last call of control_position
DEFINE_PARAMETERS((ParamFloat< px4::params::GND_L1_PERIOD >) _param_l1_period,(ParamFloat< px4::params::GND_L1_DAMPING >) _param_l1_damping,(ParamFloat< px4::params::GND_L1_DIST >) _param_l1_distance,(ParamFloat< px4::params::GND_SPEED_TRIM >) _param_gndspeed_trim,(ParamFloat< px4::params::GND_SPEED_MAX >) _param_gndspeed_max,(ParamInt< px4::params::GND_SP_CTRL_MODE >) _param_speed_control_mode,(ParamFloat< px4::params::GND_SPEED_P >) _param_speed_p,(ParamFloat< px4::params::GND_SPEED_I >) _param_speed_i,(ParamFloat< px4::params::GND_SPEED_D >) _param_speed_d,(ParamFloat< px4::params::GND_SPEED_IMAX >) _param_speed_imax,(ParamFloat< px4::params::GND_SPEED_THR_SC >) _param_throttle_speed_scaler,(ParamFloat< px4::params::GND_THR_MIN >) _param_throttle_min,(ParamFloat< px4::params::GND_THR_MAX >) _param_throttle_max,(ParamFloat< px4::params::GND_THR_CRUISE >) _param_throttle_cruise,(ParamFloat< px4::params::GND_WHEEL_BASE >) _param_wheel_base,(ParamFloat< px4::params::GND_MAX_ANG >) _param_max_turn_angle) void parameters_update(bool force
Update our local parameter cache.
void position_setpoint_triplet_poll()
uORB::Publication< position_controller_status_s > _pos_ctrl_status_pub
perf_counter_t _loop_perf
loop performance counter
__BEGIN_DECLS typedef uint64_t hrt_abstime
Absolute time, in microsecond units.
position_setpoint_triplet_s _pos_sp_triplet
triplet of mission items
void attitude_setpoint_poll()
SubscriptionData< vehicle_acceleration_s > _vehicle_acceleration_sub
int _control_mode_sub
control mode subscription
static int print_usage(const char *reason=nullptr)
static int task_spawn(int argc, char *argv[])
static RoverPositionControl * instantiate(int argc, char *argv[])
uORB::Publication< actuator_controls_s > _actuator_controls_pub
int _manual_control_sub
notification of manual control updates
static int custom_command(int argc, char *argv[])
Definition of generic PID controller.
vehicle_attitude_setpoint_s _att_sp
attitude setpoint >
Performance measuring tools.