dRonin  adbada4
dRonin firmware
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
vtol_follower_control.c File Reference

Control algorithms for the vtol follower. More...

#include "openpilot.h"
#include "coordinate_conversions.h"
#include "physical_constants.h"
#include "misc_math.h"
#include "paths.h"
#include "pid.h"
#include "vtol_follower_priv.h"
#include "acceldesired.h"
#include "altitudeholdsettings.h"
#include "altitudeholdstate.h"
#include "attitudeactual.h"
#include "loitercommand.h"
#include "pathdesired.h"
#include "positionactual.h"
#include "manualcontrolcommand.h"
#include "flightstatus.h"
#include "nedaccel.h"
#include "pathstatus.h"
#include "stabilizationdesired.h"
#include "stabilizationsettings.h"
#include "velocitydesired.h"
#include "velocityactual.h"
#include "vtolpathfollowersettings.h"
#include "systemsettings.h"

Go to the source code of this file.

Functions

static int32_t vtol_follower_control_impl (const float *hold_pos_ned, float alt_rate, bool update_status)
 
int32_t vtol_follower_control_path (const PathDesiredData *pathDesired, struct path_status *progress)
 
int32_t vtol_follower_control_endpoint (const float *hold_pos_ned)
 
int32_t vtol_follower_control_land (const float *hold_pos_ned, bool *landed)
 
int32_t vtol_follower_control_altrate (const float *hold_pos_ned, float alt_adj)
 
static int32_t vtol_follower_control_accel (float dT)
 
static float vtol_follower_control_altitude (float downCommand)
 
int32_t vtol_follower_control_attitude (float dT, const float *att_adj)
 
static float loiter_deadband (float input, float threshold, float expoPercent)
 
bool vtol_follower_control_loiter (float dT, float *hold_pos, float *att_adj, float *alt_adj)
 
void vtol_follower_control_settings_updated ()
 

Variables

static AltitudeHoldSettingsData altitudeHoldSettings
 
struct pid vtol_pids [VTOL_PID_NUM]
 
static float vtol_path_m =0
 
static float vtol_path_r =0
 
static float vtol_end_m =0
 
static float vtol_end_r =0
 
static float loiter_brakealpha =0.96f
 
static float loiter_errordecayalpha =0.88f
 

Detailed Description

Control algorithms for the vtol follower.

Author
dRonin, http://dRonin.org/, Copyright (C) 2015-2016
Tau Labs, http://taulabs.org, Copyright (C) 2013-2014
See Also
The GNU Public License (GPL) Version 3

Definition in file vtol_follower_control.c.