UAV Simulator
Loading...
Searching...
No Matches
Aircraft Class Reference

Represents a fixed‑wing UAV including its dynamics and 3D rendering. More...

#include <aircraft.h>

Classes

struct  ControlInputs
 

Public Member Functions

 Aircraft (const std::string &fname, int &vehicle_count)
 Construct a new Aircraft, load parameters, and initialize states.
 
 ~Aircraft ()
 Destructor for Aircraft.
 
void load_a_plane (const std::string &filePath, int &vehicle_count)
 Load an aircraft parameter file.
 
easy3d::vec3update_aircraft (easy3d::vec3 *vertices, easy3d::vec3 *axesVertices, double &dt)
 Update aircraft states, geometry, and axes per simulation step.
 
void renderAircraft (easy3d::Viewer &viewer)
 Render the aircraft model into the viewer.
 
void createAxesDrawable (easy3d::Viewer &viewer)
 Create and render local coordinate axes.
 
bool animate (easy3d::Viewer *viewer, double dt)
 Animate the aircraft for one frame.
 
void render_HUD (easy3d::TextRenderer &tr, easy3d::Viewer *viewer) const
 Render HUD overlay of state variables.
 
void printState ()
 Print current state variables to console for debugging.
 
easy3d::TrianglesDrawable * getAircraftDrawable () const
 Get the drawable for shading or viewer operations.
 
ControlInputs computeTrimControls (double alpha, double beta, double phi, double p, double q, double r, double theta, double Va, double R)
 Compute control inputs that achieve trim for given flight conditions.
 
Eigen::VectorXd getLateralState () const
 
Eigen::VectorXd getLongitudinalState () const
 
Eigen::VectorXd computeStateDot (const Eigen::VectorXd &X_in, const Eigen::VectorXd &U_in)
 

Public Attributes

double clock
 Simulation clock [s].
 
double pn
 
double pe
 
double pd
 Position in NED frame [m].
 
double u
 
double v
 
double w
 Body-axis velocities [m/s].
 
double phi
 
double theta
 
double psi
 Euler angles [rad].
 
double p
 
double q
 
double r
 Angular rates [rad/s].
 
double V_m
 Airspeed [m/s].
 
double alpha
 
double beta
 AoA and sideslip.
 
double fx
 
double fy
 
double fz
 Body-axis forces [N].
 
double ell
 
double m
 
double n
 Body-axis moments [Nm].
 
std::vector< double > velocity_b
 
double pn_dot
 
double pe_dot
 
double pd_dot
 
double u_dot
 
double v_dot
 
double w_dot
 
double phi_dot
 
double theta_dot
 
double psi_dot
 
double p_dot
 
double q_dot
 
double r_dot
 
int steps
 
double dt
 
int id
 
double mass
 
double Jx
 
double Jy
 
double Jz
 
double Jxz
 
double wing_area
 
double wing_chord
 
double wing_span
 
double wing_aspect_ratio = (wing_span*wing_span)/wing_area
 
double e
 
double g
 
double rho
 
double k_motor
 
double prop_area
 
double prop_thrust_coef
 
double prop_efficiency
 
double prop_omega
 
double Gamma
 
double Gamma_1
 
double Gamma_2
 
double Gamma_3
 
double Gamma_4
 
double Gamma_5
 
double Gamma_6
 
double Gamma_7
 
double Gamma_8
 
double C_p_0
 
double C_p_beta
 
double C_p_p
 
double C_p_r
 
double C_p_delta_a
 
double C_p_delta_r
 
double C_r_0
 
double C_r_beta
 
double C_r_p
 
double C_r_r
 
double C_r_delta_a
 
double C_r_delta_r
 
double Cd_of_alpha
 
double sigma_num
 
double sigma_den
 
double sigma_of_alpha
 
double Cl_flat_plate
 
double Cl_linear
 
double Cl_of_alpha
 
double CxAlpha
 
double CxqAlpha
 
double CxdeltaeAlpha
 
double CzAlpha
 
double CzqAlpha
 
double CzdeltaeAlpha
 
Eigen::Vector3d force_g
 
double force_aero1
 
Eigen::Vector3d force_aero2
 
Eigen::Vector3d force_aero
 
double force_prop1
 
Eigen::Vector3d force_prop2
 
Eigen::Vector3d force_prop
 
Eigen::Vector3d Force
 
double Aero_t1 = force_aero1
 
Eigen::Vector3d Aero_t2
 
Eigen::Vector3d Aero_torque
 
Eigen::Vector3d Prop_torque
 
Eigen::Vector3d Torque
 
double C_L_0
 
double C_L_alpha
 
double C_L_q
 
double C_L_delta_e
 
double C_D_0
 
double C_D_alpha
 
double C_D_p
 
double C_D_q
 
double C_D_delta_e
 
double C_m_0
 
double C_m_alpha
 
double C_m_q
 
double C_m_delta_e
 
double C_Y_0
 
double C_Y_beta
 
double C_Y_p
 
double C_Y_r
 
double C_Y_delta_a
 
double C_Y_delta_r
 
double C_ell_0
 
double C_ell_beta
 
double C_ell_p
 
double C_ell_r
 
double C_ell_delta_a
 
double C_ell_delta_r
 
double C_n_0
 
double C_n_beta
 
double C_n_p
 
double C_n_r
 
double C_n_delta_a
 
double C_n_delta_r
 
double C_prop
 
double trans_rate
 
double epsilon
 
double alpha0
 
double beta0
 
double pn_0
 
double pe_0
 
double pd_0
 
double u_0
 
double v_0
 
double w_0
 
double phi_0
 
double theta_0
 
double psi_0
 
double p_0
 
double q_0
 
double r_0
 
double delta_t
 
double delta_a
 
double delta_e
 
double delta_r
 
double delta_t_max
 
double delta_t_min
 
double delta_a_max
 
double delta_a_min
 
double delta_e_max
 
double delta_e_min
 
double delta_r_max
 
double delta_r_min
 
float old_roll
 
float old_pitch
 
float old_yaw
 
float old_pn
 
float old_pe
 
float old_pd
 
std::vector< double > vertices_x
 
std::vector< double > vertices_y
 
std::vector< double > vertices_z
 
int vertices_size
 
int aircraft_scale = 20
 
std::vector< std::vector< int > > faces
 
std::vector< easy3d::vec3vertices_aircraft
 
std::vector< unsigned int > indices
 
std::vector< easy3d::vec3dummy_points
 
std::vector< easy3d::vec3 > & points
 
easy3d::TrianglesDrawable * aircraft
 
easy3d::LinesDrawable * axesDrawable
 
std::vector< easy3d::vec3axes_vertices
 
std::vector< easy3d::vec3original_vertices
 
std::vector< easy3d::vec3axes_vertices_original
 
std::string file_name
 
std::unique_ptr< easy3d::SurfaceMesh > mesh
 
std::vector< double > X = {pn,pe,pd,u,v,w,p,q,r,phi,theta,psi,fx,fy,fz,ell,m,n}
 

Private Member Functions

void calculate_forces ()
 Perform force calculations (gravity, aero, prop).
 
void calculate_body_frame_velocity_and_angles ()
 Calculate body-frame velocity and angles.
 
void calculate_lift_drag_coefficients ()
 Calculate lift and drag coefficients.
 
void calculate_moments ()
 Calculate aerodynamic and propulsive moments.
 
void rotate (easy3d::vec3 *vertices)
 Apply rotation to aircraft mesh vertices.
 
void rotate_axes (easy3d::vec3 *axesVertices)
 Apply rotation to axes vertices.
 
void translate (easy3d::vec3 *vertices)
 Apply translation to aircraft mesh vertices.
 
void translate_axes (easy3d::vec3 *axesVertices)
 Apply translation to axes vertices.
 
void RK4 (std::vector< double > &X, double dt)
 Integrate dynamics using Runge-Kutta 4th order.
 
double calculate_pn_dot (double &u, double &v, double &w, double &phi, double &theta, double &psi)
 Compute derivative of north position (pn_dot).
 
double calculate_pe_dot (double &u, double &v, double &w, double &phi, double &theta, double &psi)
 Compute derivative of east position (pe_dot).
 
double calculate_pd_dot (double &u, double &v, double &w, double &phi, double &theta)
 Compute derivative of down position (pd_dot).
 
double calculate_phi_dot (double &p, double &q, double &r, double &phi, double &theta)
 Compute derivative of roll angle (phi_dot).
 
double calculate_theta_dot (double &q, double &r, double &phi)
 Compute derivative of pitch angle (theta_dot).
 
double calculate_psi_dot (double &q, double &r, double &phi, double &theta)
 Compute derivative of yaw angle (psi_dot).
 
double calculate_u_dot (double &v, double &w, double &q, double &r, double &fx, double &mass)
 Compute derivative of body-axis X velocity.
 
double calculate_v_dot (double &u, double &w, double &p, double &fy, double &mass)
 Compute derivative of body-axis Y velocity.
 
double calculate_w_dot (double &u, double &v, double &p, double &q, double &fz, double &mass)
 Compute derivative of body-axis Z velocity.
 
double calculate_p_dot (double &p, double &q, double &r, double &ell, double &n, double &Gamma_1, double &Gamma_2, double &Gamma_3, double &Gamma_4)
 Compute derivative of roll rate p.
 
double calculate_q_dot (double &p, double &r, double &m, double &Jy, double &Gamma_5, double &Gamma_6)
 Compute derivative of pitch rate q.
 
double calculate_r_dot (double &p, double &q, double &r, double &ell, double &n, double &Gamma_1, double &Gamma_4, double &Gamma_7, double &Gamma_8)
 Compute derivative of yaw rate r.
 

Friends

class GNC
 

Detailed Description

Represents a fixed‑wing UAV including its dynamics and 3D rendering.

Public members expose state variables and parameters, while methods handle:

  • Loading aircraft parameters from file
  • Computing forces, moments, and trim
  • Integrating dynamics (RK4)
  • Rendering the aircraft and axes in Easy3D
  • Updating the aircraft per simulation step

Constructor & Destructor Documentation

◆ Aircraft()

Aircraft::Aircraft ( const std::string &  fname,
int &  vehicle_count 
)

Construct a new Aircraft, load parameters, and initialize states.

Constructor. Loads parameters and initializes state variables.

Parameters
fnamePath to aircraft parameter file.
vehicle_countReference to vehicle counter.
fnamePath to the aircraft parameter file.
vehicle_countReference to global vehicle count.

◆ ~Aircraft()

Aircraft::~Aircraft ( )

Destructor for Aircraft.

Destructor for Aircraft class. Currently does minimal cleanup.

Member Function Documentation

◆ animate()

bool Aircraft::animate ( easy3d::Viewer *  viewer,
double  dt 
)

Animate the aircraft for one frame.

Animation callback called by viewer per frame.

Parameters
viewerPointer to Easy3D viewer.
dtTime step in seconds.
Returns
True if animation update succeeded.
Parameters
viewerPointer to Easy3D viewer.
dtTime step in seconds.
Returns
True if updated successfully.

◆ calculate_body_frame_velocity_and_angles()

void Aircraft::calculate_body_frame_velocity_and_angles ( )
private

Calculate body-frame velocity and angles.

Compute body-frame airspeed, angle of attack, and sideslip.

◆ calculate_forces()

void Aircraft::calculate_forces ( )
private

Perform force calculations (gravity, aero, prop).

Calculate total aerodynamic, gravitational, and propulsion forces.

◆ calculate_lift_drag_coefficients()

void Aircraft::calculate_lift_drag_coefficients ( )
private

Calculate lift and drag coefficients.

Compute lift and drag coefficients as functions of alpha and control inputs.

◆ calculate_moments()

void Aircraft::calculate_moments ( )
private

Calculate aerodynamic and propulsive moments.

Calculate aerodynamic and propulsive moments (roll, pitch, yaw).

◆ calculate_p_dot()

double Aircraft::calculate_p_dot ( double &  p,
double &  q,
double &  r,
double &  ell,
double &  n,
double &  Gamma_1,
double &  Gamma_2,
double &  Gamma_3,
double &  Gamma_4 
)
private

Compute derivative of roll rate p.

◆ calculate_pd_dot()

double Aircraft::calculate_pd_dot ( double &  u,
double &  v,
double &  w,
double &  phi,
double &  theta 
)
private

Compute derivative of down position (pd_dot).

◆ calculate_pe_dot()

double Aircraft::calculate_pe_dot ( double &  u,
double &  v,
double &  w,
double &  phi,
double &  theta,
double &  psi 
)
private

Compute derivative of east position (pe_dot).

◆ calculate_phi_dot()

double Aircraft::calculate_phi_dot ( double &  p,
double &  q,
double &  r,
double &  phi,
double &  theta 
)
private

Compute derivative of roll angle (phi_dot).

◆ calculate_pn_dot()

double Aircraft::calculate_pn_dot ( double &  u,
double &  v,
double &  w,
double &  phi,
double &  theta,
double &  psi 
)
private

Compute derivative of north position (pn_dot).

◆ calculate_psi_dot()

double Aircraft::calculate_psi_dot ( double &  q,
double &  r,
double &  phi,
double &  theta 
)
private

Compute derivative of yaw angle (psi_dot).

◆ calculate_q_dot()

double Aircraft::calculate_q_dot ( double &  p,
double &  r,
double &  m,
double &  Jy,
double &  Gamma_5,
double &  Gamma_6 
)
private

Compute derivative of pitch rate q.

◆ calculate_r_dot()

double Aircraft::calculate_r_dot ( double &  p,
double &  q,
double &  r,
double &  ell,
double &  n,
double &  Gamma_1,
double &  Gamma_4,
double &  Gamma_7,
double &  Gamma_8 
)
private

Compute derivative of yaw rate r.

◆ calculate_theta_dot()

double Aircraft::calculate_theta_dot ( double &  q,
double &  r,
double &  phi 
)
private

Compute derivative of pitch angle (theta_dot).

◆ calculate_u_dot()

double Aircraft::calculate_u_dot ( double &  v,
double &  w,
double &  q,
double &  r,
double &  fx,
double &  mass 
)
private

Compute derivative of body-axis X velocity.

◆ calculate_v_dot()

double Aircraft::calculate_v_dot ( double &  u,
double &  w,
double &  p,
double &  fy,
double &  mass 
)
private

Compute derivative of body-axis Y velocity.

◆ calculate_w_dot()

double Aircraft::calculate_w_dot ( double &  u,
double &  v,
double &  p,
double &  q,
double &  fz,
double &  mass 
)
private

Compute derivative of body-axis Z velocity.

◆ computeStateDot()

Eigen::VectorXd Aircraft::computeStateDot ( const Eigen::VectorXd &  X_in,
const Eigen::VectorXd &  U_in 
)

◆ computeTrimControls()

Aircraft::ControlInputs Aircraft::computeTrimControls ( double  alpha,
double  beta,
double  phi,
double  p,
double  q,
double  r,
double  theta,
double  Va,
double  R 
)

Compute control inputs that achieve trim for given flight conditions.

Compute control inputs (δ_e, δ_a, δ_r, δ_t) that achieve trim.

Parameters
alphaAngle of attack.
betaSide slip angle.
phiRoll angle.
pRoll rate.
qPitch rate.
rYaw rate.
thetaPitch angle.
VaAirspeed.
RTurn radius.
Returns
Structure containing trim control inputs.
Parameters
alphaAngle of attack.
betaSide slip angle.
phiRoll angle.
pRoll rate.
qPitch rate.
rYaw rate.
thetaPitch angle.
VaAirspeed.
RTurn radius.
Returns
Struct containing trim control inputs.

◆ createAxesDrawable()

void Aircraft::createAxesDrawable ( easy3d::Viewer &  viewer)

Create and render local coordinate axes.

Create and render a local coordinate frame.

Parameters
viewerReference to Easy3D viewer.

◆ getAircraftDrawable()

easy3d::TrianglesDrawable * Aircraft::getAircraftDrawable ( ) const
inline

Get the drawable for shading or viewer operations.

Returns
Aircraft mesh as TrianglesDrawable.

◆ getLateralState()

Eigen::VectorXd Aircraft::getLateralState ( ) const

◆ getLongitudinalState()

Eigen::VectorXd Aircraft::getLongitudinalState ( ) const

◆ load_a_plane()

void Aircraft::load_a_plane ( const std::string &  filePath,
int &  vehicle_count 
)

Load an aircraft parameter file.

================================

Parameters
filePathFile path of parameter file.
vehicle_countReference to vehicle counter.

Load aircraft parameters from a text file and assign them to members.

Parameters
filePathPath to parameter file.
vehicle_countReference to vehicle counter, used to assign ID.
Note
Also computes derived parameters like aspect ratio and combined coefficients.

◆ printState()

void Aircraft::printState ( )

Print current state variables to console for debugging.

Debug print of current state variables to console.

◆ render_HUD()

void Aircraft::render_HUD ( easy3d::TextRenderer &  tr,
easy3d::Viewer *  viewer 
) const

Render HUD overlay of state variables.

Render heads-up display (HUD) with aircraft states.

Parameters
trText renderer for HUD.
viewerPointer to Easy3D viewer.
trReference to Easy3D TextRenderer.
viewerPointer to Easy3D viewer.

◆ renderAircraft()

void Aircraft::renderAircraft ( easy3d::Viewer &  viewer)

Render the aircraft model into the viewer.

Load and render aircraft geometry using Easy3D.

Parameters
viewerReference to Easy3D viewer.

◆ RK4()

void Aircraft::RK4 ( std::vector< double > &  X,
double  dt 
)
private

Integrate dynamics using Runge-Kutta 4th order.

Runge–Kutta 4th order integration to update state vector.

Parameters
XState vector containing position, velocity, attitude, forces & moments.
dtTime step (seconds).

◆ rotate()

void Aircraft::rotate ( easy3d::vec3 vertices)
private

Apply rotation to aircraft mesh vertices.

Apply rotation to aircraft mesh vertices using Euler angles.

◆ rotate_axes()

void Aircraft::rotate_axes ( easy3d::vec3 axesVertices)
private

Apply rotation to axes vertices.

Apply rotation to local axes vertices.

◆ translate()

void Aircraft::translate ( easy3d::vec3 vertices)
private

Apply translation to aircraft mesh vertices.

◆ translate_axes()

void Aircraft::translate_axes ( easy3d::vec3 axesVertices)
private

Apply translation to axes vertices.

◆ update_aircraft()

easy3d::vec3 * Aircraft::update_aircraft ( easy3d::vec3 vertices,
easy3d::vec3 axesVertices,
double &  dt 
)

Update aircraft states, geometry, and axes per simulation step.

Update aircraft state each simulation step, applying dynamics and geometry transforms.

Parameters
verticesPointer to aircraft vertex buffer.
axesVerticesPointer to axes vertex buffer.
dtTime step in seconds.
Returns
Updated aircraft vertex pointer.
Parameters
verticesVertex buffer for aircraft.
axesVerticesVertex buffer for axes.
dtTime step in seconds.
Returns
Pointer to updated aircraft vertex buffer.

Friends And Related Symbol Documentation

◆ GNC

friend class GNC
friend

Member Data Documentation

◆ Aero_t1

double Aircraft::Aero_t1 = force_aero1

◆ Aero_t2

Eigen::Vector3d Aircraft::Aero_t2

◆ Aero_torque

Eigen::Vector3d Aircraft::Aero_torque

◆ aircraft

easy3d::TrianglesDrawable* Aircraft::aircraft

◆ aircraft_scale

int Aircraft::aircraft_scale = 20

◆ alpha

double Aircraft::alpha

◆ alpha0

double Aircraft::alpha0

◆ axes_vertices

std::vector<easy3d::vec3> Aircraft::axes_vertices

◆ axes_vertices_original

std::vector<easy3d::vec3> Aircraft::axes_vertices_original

◆ axesDrawable

easy3d::LinesDrawable* Aircraft::axesDrawable

◆ beta

double Aircraft::beta

AoA and sideslip.

◆ beta0

double Aircraft::beta0

◆ C_D_0

double Aircraft::C_D_0

◆ C_D_alpha

double Aircraft::C_D_alpha

◆ C_D_delta_e

double Aircraft::C_D_delta_e

◆ C_D_p

double Aircraft::C_D_p

◆ C_D_q

double Aircraft::C_D_q

◆ C_ell_0

double Aircraft::C_ell_0

◆ C_ell_beta

double Aircraft::C_ell_beta

◆ C_ell_delta_a

double Aircraft::C_ell_delta_a

◆ C_ell_delta_r

double Aircraft::C_ell_delta_r

◆ C_ell_p

double Aircraft::C_ell_p

◆ C_ell_r

double Aircraft::C_ell_r

◆ C_L_0

double Aircraft::C_L_0

◆ C_L_alpha

double Aircraft::C_L_alpha

◆ C_L_delta_e

double Aircraft::C_L_delta_e

◆ C_L_q

double Aircraft::C_L_q

◆ C_m_0

double Aircraft::C_m_0

◆ C_m_alpha

double Aircraft::C_m_alpha

◆ C_m_delta_e

double Aircraft::C_m_delta_e

◆ C_m_q

double Aircraft::C_m_q

◆ C_n_0

double Aircraft::C_n_0

◆ C_n_beta

double Aircraft::C_n_beta

◆ C_n_delta_a

double Aircraft::C_n_delta_a

◆ C_n_delta_r

double Aircraft::C_n_delta_r

◆ C_n_p

double Aircraft::C_n_p

◆ C_n_r

double Aircraft::C_n_r

◆ C_p_0

double Aircraft::C_p_0

◆ C_p_beta

double Aircraft::C_p_beta

◆ C_p_delta_a

double Aircraft::C_p_delta_a

◆ C_p_delta_r

double Aircraft::C_p_delta_r

◆ C_p_p

double Aircraft::C_p_p

◆ C_p_r

double Aircraft::C_p_r

◆ C_prop

double Aircraft::C_prop

◆ C_r_0

double Aircraft::C_r_0

◆ C_r_beta

double Aircraft::C_r_beta

◆ C_r_delta_a

double Aircraft::C_r_delta_a

◆ C_r_delta_r

double Aircraft::C_r_delta_r

◆ C_r_p

double Aircraft::C_r_p

◆ C_r_r

double Aircraft::C_r_r

◆ C_Y_0

double Aircraft::C_Y_0

◆ C_Y_beta

double Aircraft::C_Y_beta

◆ C_Y_delta_a

double Aircraft::C_Y_delta_a

◆ C_Y_delta_r

double Aircraft::C_Y_delta_r

◆ C_Y_p

double Aircraft::C_Y_p

◆ C_Y_r

double Aircraft::C_Y_r

◆ Cd_of_alpha

double Aircraft::Cd_of_alpha

◆ Cl_flat_plate

double Aircraft::Cl_flat_plate

◆ Cl_linear

double Aircraft::Cl_linear

◆ Cl_of_alpha

double Aircraft::Cl_of_alpha

◆ clock

double Aircraft::clock

Simulation clock [s].

◆ CxAlpha

double Aircraft::CxAlpha

◆ CxdeltaeAlpha

double Aircraft::CxdeltaeAlpha

◆ CxqAlpha

double Aircraft::CxqAlpha

◆ CzAlpha

double Aircraft::CzAlpha

◆ CzdeltaeAlpha

double Aircraft::CzdeltaeAlpha

◆ CzqAlpha

double Aircraft::CzqAlpha

◆ delta_a

double Aircraft::delta_a

◆ delta_a_max

double Aircraft::delta_a_max

◆ delta_a_min

double Aircraft::delta_a_min

◆ delta_e

double Aircraft::delta_e

◆ delta_e_max

double Aircraft::delta_e_max

◆ delta_e_min

double Aircraft::delta_e_min

◆ delta_r

double Aircraft::delta_r

◆ delta_r_max

double Aircraft::delta_r_max

◆ delta_r_min

double Aircraft::delta_r_min

◆ delta_t

double Aircraft::delta_t

◆ delta_t_max

double Aircraft::delta_t_max

◆ delta_t_min

double Aircraft::delta_t_min

◆ dt

double Aircraft::dt

◆ dummy_points

std::vector<easy3d::vec3> Aircraft::dummy_points

◆ e

double Aircraft::e

◆ ell

double Aircraft::ell

◆ epsilon

double Aircraft::epsilon

◆ faces

std::vector<std::vector<int> > Aircraft::faces

◆ file_name

std::string Aircraft::file_name

◆ Force

Eigen::Vector3d Aircraft::Force

◆ force_aero

Eigen::Vector3d Aircraft::force_aero

◆ force_aero1

double Aircraft::force_aero1

◆ force_aero2

Eigen::Vector3d Aircraft::force_aero2

◆ force_g

Eigen::Vector3d Aircraft::force_g

◆ force_prop

Eigen::Vector3d Aircraft::force_prop

◆ force_prop1

double Aircraft::force_prop1

◆ force_prop2

Eigen::Vector3d Aircraft::force_prop2

◆ fx

double Aircraft::fx

◆ fy

double Aircraft::fy

◆ fz

double Aircraft::fz

Body-axis forces [N].

◆ g

double Aircraft::g

◆ Gamma

double Aircraft::Gamma

◆ Gamma_1

double Aircraft::Gamma_1

◆ Gamma_2

double Aircraft::Gamma_2

◆ Gamma_3

double Aircraft::Gamma_3

◆ Gamma_4

double Aircraft::Gamma_4

◆ Gamma_5

double Aircraft::Gamma_5

◆ Gamma_6

double Aircraft::Gamma_6

◆ Gamma_7

double Aircraft::Gamma_7

◆ Gamma_8

double Aircraft::Gamma_8

◆ id

int Aircraft::id

◆ indices

std::vector<unsigned int> Aircraft::indices

◆ Jx

double Aircraft::Jx

◆ Jxz

double Aircraft::Jxz

◆ Jy

double Aircraft::Jy

◆ Jz

double Aircraft::Jz

◆ k_motor

double Aircraft::k_motor

◆ m

double Aircraft::m

◆ mass

double Aircraft::mass

◆ mesh

std::unique_ptr<easy3d::SurfaceMesh> Aircraft::mesh

◆ n

double Aircraft::n

Body-axis moments [Nm].

◆ old_pd

float Aircraft::old_pd

◆ old_pe

float Aircraft::old_pe

◆ old_pitch

float Aircraft::old_pitch

◆ old_pn

float Aircraft::old_pn

◆ old_roll

float Aircraft::old_roll

◆ old_yaw

float Aircraft::old_yaw

◆ original_vertices

std::vector<easy3d::vec3> Aircraft::original_vertices

◆ p

double Aircraft::p

◆ p_0

double Aircraft::p_0

◆ p_dot

double Aircraft::p_dot

◆ pd

double Aircraft::pd

Position in NED frame [m].

◆ pd_0

double Aircraft::pd_0

◆ pd_dot

double Aircraft::pd_dot

◆ pe

double Aircraft::pe

◆ pe_0

double Aircraft::pe_0

◆ pe_dot

double Aircraft::pe_dot

◆ phi

double Aircraft::phi

◆ phi_0

double Aircraft::phi_0

◆ phi_dot

double Aircraft::phi_dot

◆ pn

double Aircraft::pn

◆ pn_0

double Aircraft::pn_0

◆ pn_dot

double Aircraft::pn_dot

◆ points

std::vector<easy3d::vec3>& Aircraft::points

◆ prop_area

double Aircraft::prop_area

◆ prop_efficiency

double Aircraft::prop_efficiency

◆ prop_omega

double Aircraft::prop_omega

◆ prop_thrust_coef

double Aircraft::prop_thrust_coef

◆ Prop_torque

Eigen::Vector3d Aircraft::Prop_torque

◆ psi

double Aircraft::psi

Euler angles [rad].

◆ psi_0

double Aircraft::psi_0

◆ psi_dot

double Aircraft::psi_dot

◆ q

double Aircraft::q

◆ q_0

double Aircraft::q_0

◆ q_dot

double Aircraft::q_dot

◆ r

double Aircraft::r

Angular rates [rad/s].

◆ r_0

double Aircraft::r_0

◆ r_dot

double Aircraft::r_dot

◆ rho

double Aircraft::rho

◆ sigma_den

double Aircraft::sigma_den

◆ sigma_num

double Aircraft::sigma_num

◆ sigma_of_alpha

double Aircraft::sigma_of_alpha

◆ steps

int Aircraft::steps

◆ theta

double Aircraft::theta

◆ theta_0

double Aircraft::theta_0

◆ theta_dot

double Aircraft::theta_dot

◆ Torque

Eigen::Vector3d Aircraft::Torque

◆ trans_rate

double Aircraft::trans_rate

◆ u

double Aircraft::u

◆ u_0

double Aircraft::u_0

◆ u_dot

double Aircraft::u_dot

◆ v

double Aircraft::v

◆ v_0

double Aircraft::v_0

◆ v_dot

double Aircraft::v_dot

◆ V_m

double Aircraft::V_m

Airspeed [m/s].

◆ velocity_b

std::vector<double> Aircraft::velocity_b

◆ vertices_aircraft

std::vector<easy3d::vec3> Aircraft::vertices_aircraft

◆ vertices_size

int Aircraft::vertices_size

◆ vertices_x

std::vector<double> Aircraft::vertices_x

◆ vertices_y

std::vector<double> Aircraft::vertices_y

◆ vertices_z

std::vector<double> Aircraft::vertices_z

◆ w

double Aircraft::w

Body-axis velocities [m/s].

◆ w_0

double Aircraft::w_0

◆ w_dot

double Aircraft::w_dot

◆ wing_area

double Aircraft::wing_area

◆ wing_aspect_ratio

double Aircraft::wing_aspect_ratio = (wing_span*wing_span)/wing_area

◆ wing_chord

double Aircraft::wing_chord

◆ wing_span

double Aircraft::wing_span

◆ X

std::vector<double> Aircraft::X = {pn,pe,pd,u,v,w,p,q,r,phi,theta,psi,fx,fy,fz,ell,m,n}

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