Paparazzi UAS
v5.15_devel-230-gc96ce27
Paparazzi is a free software Unmanned Aircraft System.
|
Basic guidance for rover. More...
Go to the source code of this file.
Data Structures | |
struct | RoverHoloGuidanceSetpoint |
struct | RoverHoloGuidancePID |
struct | RoverHoloGuidanceControl |
struct | RoverHoloGuidance |
Macros | |
#define | SetAPThrottleFromCommands(_cmd_x, _cmd_y) |
Functions | |
void | rover_holo_guidance_init (void) |
void | rover_holo_guidance_periodic (void) |
void | rover_holo_guidance_run (float *heading_sp) |
void | rover_holo_guidance_enter (void) |
void | rover_guidance_holonomic_set_speed_igain (float igain) |
void | rover_guidance_holonomic_set_turn_igain (float igain) |
Variables | |
struct RoverHoloGuidance | rover_holo_guidance |
Basic guidance for rover.
Implement standard PID control loop to track a navigation target. Guidance "modes" are using the autopilot generation with the "guidance" state machine.
Definition in file rover_guidance_holonomic.h.
struct RoverHoloGuidanceSetpoint |
Definition at line 36 of file rover_guidance_holonomic.h.
Data Fields | ||
---|---|---|
float | heading | heading setpoint |
uint8_t | mask | bit 5: vx & vy, bit 6: vz, bit 7: vyaw |
struct FloatVect2 | pos |
position setpoint in NED. position setpoint |
struct FloatVect2 | speed | speed setpoint |
struct RoverHoloGuidancePID |
Definition at line 46 of file rover_guidance_holonomic.h.
Data Fields | ||
---|---|---|
float | d | |
float | d_err | |
float | err | |
float | i | |
float | p | |
float | sum_err |
struct RoverHoloGuidanceControl |
Definition at line 56 of file rover_guidance_holonomic.h.
Data Fields | ||
---|---|---|
float | motor_speed_x | |
float | motor_speed_y | |
float | motor_turn |
struct RoverHoloGuidance |
Definition at line 62 of file rover_guidance_holonomic.h.
Data Fields | ||
---|---|---|
struct RoverHoloGuidanceControl | cmd | commands |
struct RoverHoloGuidanceSetpoint | sp | setpoints |
struct RoverHoloGuidancePID | speed_pid | motor speed controller |
struct RoverHoloGuidancePID | turn_pid | turn rate controller |
#define SetAPThrottleFromCommands | ( | _cmd_x, | |
_cmd_y | |||
) |
Definition at line 81 of file rover_guidance_holonomic.h.
void rover_guidance_holonomic_set_speed_igain | ( | float | igain | ) |
Definition at line 141 of file rover_guidance_holonomic.c.
References RoverHoloGuidancePID::i, rover_holo_guidance, RoverHoloGuidance::speed_pid, and RoverHoloGuidancePID::sum_err.
void rover_guidance_holonomic_set_turn_igain | ( | float | igain | ) |
Definition at line 147 of file rover_guidance_holonomic.c.
References RoverHoloGuidancePID::i, rover_holo_guidance, RoverHoloGuidancePID::sum_err, and RoverHoloGuidance::turn_pid.
void rover_holo_guidance_enter | ( | void | ) |
Definition at line 131 of file rover_guidance_holonomic.c.
References RoverHoloGuidanceSetpoint::heading, RoverHoloGuidanceSetpoint::mask, FloatEulers::psi, rover_holo_guidance, RoverHoloGuidance::sp, and stateGetNedToBodyEulers_f().
void rover_holo_guidance_init | ( | void | ) |
Definition at line 43 of file rover_guidance_holonomic.c.
References RoverHoloGuidancePID::d, RoverHoloGuidancePID::d_err, RoverHoloGuidancePID::err, FLOAT_VECT2_ZERO, RoverHoloGuidanceSetpoint::heading, RoverHoloGuidancePID::i, RoverHoloGuidancePID::p, RoverHoloGuidanceSetpoint::pos, rover_holo_guidance, RoverHoloGuidance::sp, RoverHoloGuidance::speed_pid, RoverHoloGuidancePID::sum_err, and RoverHoloGuidance::turn_pid.
void rover_holo_guidance_periodic | ( | void | ) |
Definition at line 68 of file rover_guidance_holonomic.c.
void rover_holo_guidance_run | ( | float * | heading_sp | ) |
Definition at line 84 of file rover_guidance_holonomic.c.
References RoverHoloGuidance::cmd, compute_pid(), RoverHoloGuidancePID::d_err, RoverHoloGuidancePID::err, float_vect2_norm(), RoverHoloGuidanceSetpoint::heading, MAX_POS_ERR, MAX_PPRZ, MAX_SPEED_ERR, RoverHoloGuidanceControl::motor_speed_x, RoverHoloGuidanceControl::motor_speed_y, RoverHoloGuidanceControl::motor_turn, RoverHoloGuidanceSetpoint::pos, PROXIMITY_DIST, FloatEulers::psi, FloatRates::r, rover_holo_guidance, RoverHoloGuidance::sp, RoverHoloGuidance::speed_pid, stateGetBodyRates_f(), stateGetHorizontalSpeedNorm_f(), stateGetNedToBodyEulers_f(), stateGetPositionNed_f(), RoverHoloGuidancePID::sum_err, TRIM_PPRZ, RoverHoloGuidance::turn_pid, VECT2_DIFF, FloatVect2::x, and FloatVect2::y.
struct RoverHoloGuidance rover_holo_guidance |
Definition at line 36 of file rover_guidance_holonomic.c.
Referenced by rover_guidance_holonomic_set_speed_igain(), rover_guidance_holonomic_set_turn_igain(), rover_holo_guidance_enter(), rover_holo_guidance_init(), and rover_holo_guidance_run().