Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
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
 

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
 

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

◆ RoverHoloGuidanceSetpoint

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

◆ RoverHoloGuidancePID

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

◆ RoverHoloGuidanceControl

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

◆ RoverHoloGuidance

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

◆ SetAPThrottleFromCommands

#define SetAPThrottleFromCommands (   _cmd_x,
  _cmd_y 
)
Value:
{ \
autopilot.throttle = sqrtf(((_cmd_x * _cmd_x) + (_cmd_y * _cmd_y)) / 2.f); \
}

Definition at line 81 of file rover_guidance_holonomic.h.

Function Documentation

◆ rover_guidance_holonomic_set_speed_igain()

void rover_guidance_holonomic_set_speed_igain ( float  igain)

◆ rover_guidance_holonomic_set_turn_igain()

void rover_guidance_holonomic_set_turn_igain ( float  igain)

◆ rover_holo_guidance_enter()

void rover_holo_guidance_enter ( void  )

◆ rover_holo_guidance_init()

◆ rover_holo_guidance_periodic()

void rover_holo_guidance_periodic ( void  )

Definition at line 68 of file rover_guidance_holonomic.c.

◆ rover_holo_guidance_run()

Variable Documentation

◆ rover_holo_guidance