Paparazzi UAS  v5.15_devel-47-g0391b4d
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
rover_guidance_holonomic.h File Reference

Basic guidance for rover. More...

#include "math/pprz_algebra_float.h"
#include "generated/airframe.h"
#include "std.h"
+ Include dependency graph for rover_guidance_holonomic.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  RoverHoloGuidanceSetpoint
struct  RoverHoloGuidancePID
struct  RoverHoloGuidanceControl
struct  RoverHoloGuidance


#define SetAPThrottleFromCommands(_cmd_x, _cmd_y)


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)


struct RoverHoloGuidance rover_holo_guidance

Detailed Description

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.

Data Structure Documentation

struct RoverHoloGuidanceSetpoint

Definition at line 36 of file rover_guidance_holonomic.h.

+ Collaboration diagram for RoverHoloGuidanceSetpoint:
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.

+ Collaboration diagram for RoverHoloGuidance:
Data Fields
struct RoverHoloGuidanceControl cmd commands
struct RoverHoloGuidanceSetpoint sp setpoints
struct RoverHoloGuidancePID speed_pid motor speed controller
struct RoverHoloGuidancePID turn_pid turn rate controller

Macro Definition Documentation

#define SetAPThrottleFromCommands (   _cmd_x,
{ \
autopilot.throttle = sqrtf(((_cmd_x * _cmd_x) + (_cmd_y * _cmd_y)) / 2.f); \
struct pprz_autopilot autopilot
Global autopilot structure.
Definition: autopilot.c:50
pprz_t throttle
throttle level as will be displayed in GCS
Definition: autopilot.h:66

Definition at line 81 of file rover_guidance_holonomic.h.

Function Documentation

void rover_guidance_holonomic_set_speed_igain ( float  igain)
void rover_guidance_holonomic_set_turn_igain ( float  igain)
void rover_holo_guidance_enter ( void  )
void rover_holo_guidance_periodic ( void  )

Definition at line 68 of file rover_guidance_holonomic.c.

Variable Documentation