Auterion App SDK
Auterion SDK is a library that can be used by AuterionOS apps to communicate with the system.
Loading...
Searching...
No Matches
auterion::BodyFrameSpecificForceController Class Reference

Specific-force to body-rate controller for fixed-wing aircraft. More...

#include <auterion_sdk/control/fixedwing/body_frame_specific_force_controller.hpp>

Classes

struct  Parameters
 
struct  State
 

Public Member Functions

 BodyFrameSpecificForceController (const Parameters &parameters)
 Constructs a BodyFrameSpecificForceController with the given parameters.
 
void setParameters (const Parameters &parameters)
 Updates controller parameters.
 
void update (double dt, const Eigen::Vector3d &acc_sp_enu, const Eigen::Quaterniond &attitude_enu, const Eigen::Vector3d &specific_force_flu, std::optional< double > true_airspeed, std::optional< Eigen::Vector3d > los=std::nullopt)
 Runs one update step of the body-rate controller.
 
const Statestate () const
 Returns a const reference to the current controller state.
 

Detailed Description

Specific-force to body-rate controller for fixed-wing aircraft.

Converts a guidance acceleration setpoint in ENU frame to roll/pitch/yaw body-rate setpoints and a normalized thrust command, using a hybrid bank-to-turn / skid-to-turn (BTT/STT) law with airspeed-scaled PI controllers.

Constructor & Destructor Documentation

◆ BodyFrameSpecificForceController()

auterion::BodyFrameSpecificForceController::BodyFrameSpecificForceController ( const Parameters parameters)
explicit

Constructs a BodyFrameSpecificForceController with the given parameters.

Parameters
parametersInitial controller parameters.

Member Function Documentation

◆ setParameters()

void auterion::BodyFrameSpecificForceController::setParameters ( const Parameters parameters)

Updates controller parameters.

Parameters
parametersNew parameters, applied on the next call to update().

◆ update()

void auterion::BodyFrameSpecificForceController::update ( double  dt,
const Eigen::Vector3d &  acc_sp_enu,
const Eigen::Quaterniond &  attitude_enu,
const Eigen::Vector3d &  specific_force_flu,
std::optional< double >  true_airspeed,
std::optional< Eigen::Vector3d >  los = std::nullopt 
)

Runs one update step of the body-rate controller.

Parameters
dtTime step [s].
acc_sp_enuGuidance acceleration setpoint in ENU frame [m/s²].
attitude_enuCurrent vehicle attitude quaternion (ENU convention).
specific_force_fluMeasured body-frame specific force in FLU convention [m/s²].
true_airspeedTrue airspeed [m/s]; if empty, falls back to approach_airspeed.
losNormalized line-of-sight vector (ENU). Required only when the camera VFOV pitch limiter is enabled (pitch_lim_camera_vertical_fov > 0). Pass std::nullopt to skip the limiter entirely regardless of the parameter setting.

The documentation for this class was generated from the following file: