Paparazzi UAS  v6.0_unstable-53-gfe8bbd3-dirty
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
mav_exercise.c File Reference
#include "mav_exercise.h"
#include "subsystems/abi.h"
#include "firmwares/rotorcraft/navigation.h"
#include "state.h"
#include "autopilot_static.h"
#include <stdio.h>
#include "generated/flight_plan.h"
+ Include dependency graph for mav_exercise.c:

Go to the source code of this file.

Macros

#define NAV_C
 
#define PRINT(string,...)   fprintf(stderr, "[mav_exercise->%s()] " string,__FUNCTION__ , ##__VA_ARGS__)
 
#define ORANGE_AVOIDER_VISUAL_DETECTION_ID   ABI_BROADCAST
 

Enumerations

enum  navigation_state_t {
  SAFE, OBSTACLE_FOUND, OUT_OF_BOUNDS, HOLD,
  SAFE, OBSTACLE_FOUND, SEARCH_FOR_SAFE_HEADING, OUT_OF_BOUNDS,
  SAFE, OBSTACLE_FOUND, SEARCH_FOR_SAFE_HEADING, OUT_OF_BOUNDS,
  REENTER_ARENA
}
 

Functions

uint8_t increase_nav_heading (float incrementDegrees)
 
uint8_t moveWaypointForward (uint8_t waypoint, float distanceMeters)
 
uint8_t moveWaypoint (uint8_t waypoint, struct EnuCoor_i *new_coor)
 
static void color_detection_cb (uint8_t sender_id, int16_t pixel_x, int16_t pixel_y, int16_t pixel_width, int16_t pixel_height, int32_t quality, int16_t extra)
 
void mav_exercise_init (void)
 
void mav_exercise_periodic (void)
 
static uint8_t calculateForwards (struct EnuCoor_i *new_coor, float distanceMeters)
 

Variables

float oa_color_count_frac = 0.18f
 
enum navigation_state_t navigation_state = SAFE
 
int32_t color_count = 0
 
int16_t obstacle_free_confidence = 0
 
float moveDistance = 2
 
float oob_haeding_increment = 5.f
 
const int16_t max_trajectory_confidence = 5
 
static abi_event color_detection_ev
 

Macro Definition Documentation

#define NAV_C

Definition at line 28 of file mav_exercise.c.

#define ORANGE_AVOIDER_VISUAL_DETECTION_ID   ABI_BROADCAST

Definition at line 56 of file mav_exercise.c.

Referenced by mav_exercise_init(), and orange_avoider_guided_init().

#define PRINT (   string,
  ... 
)    fprintf(stderr, "[mav_exercise->%s()] " string,__FUNCTION__ , ##__VA_ARGS__)

Definition at line 31 of file mav_exercise.c.

Referenced by mav_exercise_periodic().

Enumeration Type Documentation

Enumerator
SAFE 
OBSTACLE_FOUND 
OUT_OF_BOUNDS 
HOLD 
SAFE 
OBSTACLE_FOUND 
SEARCH_FOR_SAFE_HEADING 
OUT_OF_BOUNDS 
SAFE 
OBSTACLE_FOUND 
SEARCH_FOR_SAFE_HEADING 
OUT_OF_BOUNDS 
REENTER_ARENA 

Definition at line 37 of file mav_exercise.c.

Function Documentation

static uint8_t calculateForwards ( struct EnuCoor_i new_coor,
float  distanceMeters 
)
static

Definition at line 151 of file mav_exercise.c.

References heading, POS_BFP_OF_REAL, FloatEulers::psi, stateGetNedToBodyEulers_f(), stateGetPositionEnu_i(), EnuCoor_i::x, and EnuCoor_i::y.

Referenced by moveWaypointForward().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void color_detection_cb ( uint8_t  sender_id,
int16_t  pixel_x,
int16_t  pixel_y,
int16_t  pixel_width,
int16_t  pixel_height,
int32_t  quality,
int16_t  extra 
)
static

Definition at line 59 of file mav_exercise.c.

References color_count.

Referenced by mav_exercise_init().

+ Here is the caller graph for this function:

uint8_t increase_nav_heading ( float  incrementDegrees)

Definition at line 136 of file mav_exercise.c.

References ANGLE_BFP_OF_REAL, FLOAT_ANGLE_NORMALIZE, nav_heading, new_heading, FloatEulers::psi, and stateGetNedToBodyEulers_f().

Referenced by mav_exercise_periodic().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void mav_exercise_init ( void  )

Definition at line 67 of file mav_exercise.c.

References color_detection_cb(), and ORANGE_AVOIDER_VISUAL_DETECTION_ID.

+ Here is the call graph for this function:

uint8_t moveWaypoint ( uint8_t  waypoint,
struct EnuCoor_i new_coor 
)

Definition at line 163 of file mav_exercise.c.

References waypoint_move_xy_i(), EnuCoor_i::x, and EnuCoor_i::y.

Referenced by moveWaypointForward().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint8_t moveWaypointForward ( uint8_t  waypoint,
float  distanceMeters 
)

Definition at line 171 of file mav_exercise.c.

References calculateForwards(), and moveWaypoint().

Referenced by mav_exercise_periodic().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

int32_t color_count = 0

Definition at line 47 of file mav_exercise.c.

Referenced by color_detection_cb(), and mav_exercise_periodic().

abi_event color_detection_ev
static

Definition at line 58 of file mav_exercise.c.

const int16_t max_trajectory_confidence = 5

Definition at line 51 of file mav_exercise.c.

Referenced by mav_exercise_periodic().

float moveDistance = 2

Definition at line 49 of file mav_exercise.c.

Referenced by mav_exercise_periodic(), and orange_avoider_periodic().

Definition at line 46 of file mav_exercise.c.

float oa_color_count_frac = 0.18f

Definition at line 45 of file mav_exercise.c.

Referenced by mav_exercise_periodic().

int16_t obstacle_free_confidence = 0

Definition at line 48 of file mav_exercise.c.

Referenced by mav_exercise_periodic().

float oob_haeding_increment = 5.f

Definition at line 50 of file mav_exercise.c.

Referenced by mav_exercise_periodic().