Paparazzi UAS  v5.15_devel-230-gc96ce27
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
rover_guidance.c File Reference

Basic guidance for rover. More...

#include "firmwares/rover/guidance/rover_guidance.h"
#include "generated/airframe.h"
#include "generated/autopilot_core_guidance.h"
#include "state.h"
#include "subsystems/datalink/telemetry.h"
+ Include dependency graph for rover_guidance.c:

Go to the source code of this file.


#define MAX_POS_ERR   10.f
#define MAX_SPEED_ERR   10.f
#define MAX_INTEGRAL_CMD   (MAX_PPRZ / 10.f)
#define PROXIMITY_DIST   0.5f


void rover_guidance_init (void)
void rover_guidance_periodic (void)
static float compute_pid (struct RoverGuidancePID *pid)
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)


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.c.

Macro Definition Documentation


Definition at line 28 of file rover_guidance.c.

#define MAX_INTEGRAL_CMD   (MAX_PPRZ / 10.f)

Definition at line 80 of file rover_guidance.c.

#define MAX_POS_ERR   10.f

Definition at line 78 of file rover_guidance.c.

Referenced by rover_guidance_run().

#define MAX_SPEED_ERR   10.f

Definition at line 79 of file rover_guidance.c.

Referenced by rover_guidance_run().

#define PROXIMITY_DIST   0.5f

Definition at line 81 of file rover_guidance.c.

Referenced by rover_guidance_run().

Function Documentation

static float compute_pid ( struct RoverGuidancePID pid)

Definition at line 73 of file rover_guidance.c.

References RoverGuidancePID::d, RoverGuidancePID::d_err, RoverGuidancePID::err, RoverGuidancePID::i, RoverGuidancePID::p, and RoverGuidancePID::sum_err.

Referenced by rover_guidance_run().

+ Here is the caller graph for this function:

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:

void rover_guidance_periodic ( void  )

Definition at line 67 of file rover_guidance.c.

void rover_guidance_set_speed_igain ( uint32_t  igain)
void rover_guidance_set_turn_igain ( uint32_t  igain)

Variable Documentation