Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
nav_launcher.c File Reference

Pneumatic launcher system See video of the system: https://www.youtube.com/watch?v=qc1uwH-8Dbw Launcher. More...

#include "generated/airframe.h"
#include "state.h"
#include "modules/nav/nav_launcher.h"
#include "autopilot.h"
#include "firmwares/fixedwing/nav.h"
#include "firmwares/fixedwing/stabilization/stabilization_attitude.h"
+ Include dependency graph for nav_launcher.c:

Go to the source code of this file.

Data Structures

struct  Point2D
 

Macros

#define LAUNCHER_TAKEOFF_PITCH   0.23
 
#define LAUNCHER_TAKEOFF_HEIGHT   80
 
#define LAUNCHER_TAKEOFF_DISTANCE   30
 
#define LAUNCHER_TAKEOFF_MIN_SPEED_LINE   5
 
#define LAUNCHER_TAKEOFF_MIN_SPEED_CIRCLE   8
 
#define LAUNCHER_TAKEOFF_CIRCLE_ALT   200
 
#define LAUNCHER_TAKEOFF_CIRCLE_RADIUS   200
 
#define LAUNCHER_TAKEOFF_MAX_CIRCLE_DISTANCE   800
 
#define LAUNCHER_TAKEOFF_HEIGHT_THRESHOLD   10
 

Enumerations

enum  Launch_Status { L_Pitch_Nav , L_Line_Nav , L_CircleUp , L_Finished }
 

Functions

void nav_launcher_setup (void)
 
bool nav_launcher_run (void)
 

Variables

static enum Launch_Status CLaunch_Status
 
static float launch_x
 
static float launch_y
 
static float launch_alt
 
static float launch_pitch
 
static float launch_time
 
static struct Point2D launch_circle
 
static float launch_circle_alt
 
static float launch_line_x
 
static float launch_line_y
 

Detailed Description

Pneumatic launcher system See video of the system: https://www.youtube.com/watch?v=qc1uwH-8Dbw Launcher.

A pneumatic launching system.

  • Phase 1: Zero Roll, Takeoff Pitch, Full Throttle(once you enter the block!)
  • Phase 2: After detecting lauch (ground speed) and travelling enough distance from the launch point follow launch line -> Auto roll, Takeoff pitch, Full Throttle
  • Phase 3: If the aircraft is above a specific alt, greater than a specific speed or too far away, circle up with takeoff circle radius, until you reach desired takeoff altitude

An example section to be added into your airframe configuration:

<section name="LAUNCHER" prefix="LAUNCHER_TAKEOFF_"> <define name="PITCH" value="0.23" unit="rad"> <define name="HEIGH" value="70" unit="m"> <define name="MIN_SPEED_CIRCLE" value="8" unit="m/s"> <define name="DISTANCE" value="30" unit="m"> <define name="MIN_SPEED_LINE" value="5" unit="m/s"> </section>

Definition in file nav_launcher.c.


Data Structure Documentation

◆ Point2D

struct Point2D

Definition at line 90 of file nav_launcher.c.

Data Fields
float x
float y

Macro Definition Documentation

◆ LAUNCHER_TAKEOFF_CIRCLE_ALT

#define LAUNCHER_TAKEOFF_CIRCLE_ALT   200

Definition at line 75 of file nav_launcher.c.

◆ LAUNCHER_TAKEOFF_CIRCLE_RADIUS

#define LAUNCHER_TAKEOFF_CIRCLE_RADIUS   200

Definition at line 79 of file nav_launcher.c.

◆ LAUNCHER_TAKEOFF_DISTANCE

#define LAUNCHER_TAKEOFF_DISTANCE   30

Definition at line 63 of file nav_launcher.c.

◆ LAUNCHER_TAKEOFF_HEIGHT

#define LAUNCHER_TAKEOFF_HEIGHT   80

Definition at line 59 of file nav_launcher.c.

◆ LAUNCHER_TAKEOFF_HEIGHT_THRESHOLD

#define LAUNCHER_TAKEOFF_HEIGHT_THRESHOLD   10

Definition at line 87 of file nav_launcher.c.

◆ LAUNCHER_TAKEOFF_MAX_CIRCLE_DISTANCE

#define LAUNCHER_TAKEOFF_MAX_CIRCLE_DISTANCE   800

Definition at line 83 of file nav_launcher.c.

◆ LAUNCHER_TAKEOFF_MIN_SPEED_CIRCLE

#define LAUNCHER_TAKEOFF_MIN_SPEED_CIRCLE   8

Definition at line 71 of file nav_launcher.c.

◆ LAUNCHER_TAKEOFF_MIN_SPEED_LINE

#define LAUNCHER_TAKEOFF_MIN_SPEED_LINE   5

Definition at line 67 of file nav_launcher.c.

◆ LAUNCHER_TAKEOFF_PITCH

#define LAUNCHER_TAKEOFF_PITCH   0.23

Definition at line 55 of file nav_launcher.c.

Enumeration Type Documentation

◆ Launch_Status

Enumerator
L_Pitch_Nav 
L_Line_Nav 
L_CircleUp 
L_Finished 

Definition at line 95 of file nav_launcher.c.

Function Documentation

◆ nav_launcher_run()

◆ nav_launcher_setup()

Variable Documentation

◆ CLaunch_Status

enum Launch_Status CLaunch_Status
static

Definition at line 1 of file nav_launcher.c.

Referenced by nav_launcher_run(), and nav_launcher_setup().

◆ launch_alt

float launch_alt
static

Definition at line 102 of file nav_launcher.c.

Referenced by nav_launcher_run(), and nav_launcher_setup().

◆ launch_circle

struct Point2D launch_circle
static

Definition at line 104 of file nav_launcher.c.

Referenced by nav_launcher_run().

◆ launch_circle_alt

float launch_circle_alt
static

Definition at line 106 of file nav_launcher.c.

Referenced by nav_launcher_run(), and nav_launcher_setup().

◆ launch_line_x

float launch_line_x
static

Definition at line 108 of file nav_launcher.c.

Referenced by nav_launcher_run().

◆ launch_line_y

float launch_line_y
static

Definition at line 109 of file nav_launcher.c.

Referenced by nav_launcher_run().

◆ launch_pitch

float launch_pitch
static

Definition at line 103 of file nav_launcher.c.

Referenced by nav_launcher_setup().

◆ launch_time

float launch_time
static

Definition at line 104 of file nav_launcher.c.

Referenced by nav_launcher_setup().

◆ launch_x

float launch_x
static

Definition at line 100 of file nav_launcher.c.

Referenced by nav_launcher_run(), and nav_launcher_setup().

◆ launch_y

float launch_y
static

Definition at line 101 of file nav_launcher.c.

Referenced by nav_launcher_run(), and nav_launcher_setup().