Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
rover_guidance.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.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  RoverGuidanceSetpoint
 
struct  RoverGuidancePID
 
struct  RoverGuidanceControl
 
struct  RoverGuidance
 

Functions

void rover_guidance_init (void)
 
void rover_guidance_periodic (void)
 
void rover_guidance_run (float *heading_sp)
 
void rover_guidance_enter (void)
 
void rover_guidance_set_speed_igain (uint32_t igain)
 
void rover_guidance_set_turn_igain (uint32_t igain)
 

Variables

struct RoverGuidance rover_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.h.


Data Structure Documentation

◆ RoverGuidanceSetpoint

struct RoverGuidanceSetpoint

Definition at line 36 of file rover_guidance.h.

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

◆ RoverGuidancePID

struct RoverGuidancePID

Definition at line 46 of file rover_guidance.h.

Data Fields
float d
float d_err
float err
float i
float p
float sum_err

◆ RoverGuidanceControl

struct RoverGuidanceControl

Definition at line 55 of file rover_guidance.h.

Data Fields
float motor_speed
float motor_turn

◆ RoverGuidance

struct RoverGuidance

Definition at line 60 of file rover_guidance.h.

+ Collaboration diagram for RoverGuidance:
Data Fields
struct RoverGuidanceControl cmd commands
struct RoverGuidanceSetpoint sp setpoints
struct RoverGuidancePID speed_pid motor speed controller
struct RoverGuidancePID turn_pid turn rate controller

Function Documentation

◆ rover_guidance_enter()

void rover_guidance_enter ( void  )

Definition at line 124 of file rover_guidance.c.

References RoverGuidanceSetpoint::heading, RoverGuidanceSetpoint::mask, FloatEulers::psi, rover_guidance, RoverGuidance::sp, and stateGetNedToBodyEulers_f().

+ Here is the call graph for this function:

◆ rover_guidance_init()

◆ rover_guidance_periodic()

void rover_guidance_periodic ( void  )

Definition at line 67 of file rover_guidance.c.

◆ rover_guidance_run()

◆ rover_guidance_set_speed_igain()

void rover_guidance_set_speed_igain ( uint32_t  igain)

◆ rover_guidance_set_turn_igain()

void rover_guidance_set_turn_igain ( uint32_t  igain)

Variable Documentation

◆ rover_guidance