Paparazzi UAS  v6.2_unstable
Paparazzi is a free software Unmanned Aircraft System.
nps_fdm.h File Reference
#include "std.h"
#include "../flight_gear.h"
#include "math/pprz_geodetic_double.h"
#include "math/pprz_algebra_double.h"
+ Include dependency graph for nps_fdm.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  NpsFdm
 

Functions

void nps_fdm_init (double dt)
 Initialize actuator dynamics, set unused fields in fdm. More...
 
void nps_fdm_run_step (bool launch, double *commands, int commands_nb)
 Update the simulation state. More...
 
void nps_fdm_set_wind (double speed, double dir)
 
void nps_fdm_set_wind_ned (double wind_north, double wind_east, double wind_down)
 
void nps_fdm_set_turbulence (double wind_speed, int turbulence_severity)
 
void nps_fdm_set_temperature (double temp, double h)
 Set temperature in degrees Celcius at given height h above MSL. More...
 

Variables

struct NpsFdm fdm
 Holds all necessary NPS FDM state information. More...
 

Data Structure Documentation

◆ NpsFdm

struct NpsFdm

Definition at line 44 of file nps_fdm.h.

+ Collaboration diagram for NpsFdm:
Data Fields
double agl
double airspeed equivalent airspeed in m/s
double aoa angle of attack in rad
struct DoubleVect3 body_accel acceleration in body frame as measured by an accelerometer (incl.

gravity)

struct DoubleVect3 body_ecef_accel acceleration in body frame, wrt ECEF frame
struct DoubleRates body_ecef_rotaccel
struct DoubleRates body_ecef_rotvel
struct DoubleVect3 body_ecef_vel velocity in body frame, wrt ECEF frame
struct DoubleVect3 body_inertial_accel acceleration in body frame, wrt ECI inertial frame
struct DoubleRates body_inertial_rotaccel
struct DoubleRates body_inertial_rotvel
double curr_dt
double dynamic_pressure dynamic pressure in Pascal
struct EcefCoor_d ecef_ecef_accel acceleration in ECEF frame, wrt ECEF frame
struct EcefCoor_d ecef_ecef_vel velocity in ECEF frame, wrt ECEF frame
struct EcefCoor_d ecef_pos
struct DoubleQuat ecef_to_body_quat
float elevator
uint32_t eng_state[FG_NET_FDM_MAX_ENGINES]
float flap
double hmsl
double init_dt
float left_aileron
struct LlaCoor_d lla_pos
struct LlaCoor_d lla_pos_geoc
struct LlaCoor_d lla_pos_geod
struct LlaCoor_d lla_pos_pprz
struct NedCoor_d ltp_ecef_accel acceleration in LTP frame, wrt ECEF frame
struct NedCoor_d ltp_ecef_vel velocity in LTP frame, wrt ECEF frame
struct DoubleVect3 ltp_g
struct DoubleVect3 ltp_h
struct DoubleEulers ltp_to_body_eulers
struct DoubleQuat ltp_to_body_quat
struct NedCoor_d ltpprz_ecef_accel accel in ltppprz frame, wrt ECEF frame
struct NedCoor_d ltpprz_ecef_vel velocity in ltppprz frame, wrt ECEF frame
struct NedCoor_d ltpprz_pos
struct DoubleEulers ltpprz_to_body_eulers
struct DoubleQuat ltpprz_to_body_quat
int nan_count
uint32_t num_engines
bool on_ground
double pressure current (static) atmospheric pressure in Pascal
double pressure_sl pressure at sea level in Pascal
float right_aileron
float rpm[FG_NET_FDM_MAX_ENGINES]
float rudder
double sideslip sideslip angle in rad
double temperature current temperature in degrees Celcius
double time
double total_pressure total atmospheric pressure in Pascal
struct DoubleVect3 wind velocity in m/s in NED

Function Documentation

◆ nps_fdm_init()

◆ nps_fdm_run_step()

◆ nps_fdm_set_temperature()

void nps_fdm_set_temperature ( double  temp,
double  h 
)

Set temperature in degrees Celcius at given height h above MSL.

Definition at line 319 of file nps_fdm_gazebo.cpp.

References FDMExec, and h().

+ Here is the call graph for this function:

◆ nps_fdm_set_turbulence()

void nps_fdm_set_turbulence ( double  wind_speed,
int  turbulence_severity 
)

Definition at line 211 of file nps_fdm_crrcsim.c.

References FDMExec, and FeetOfMeters.

Referenced by nps_atmosphere_update().

+ Here is the caller graph for this function:

◆ nps_fdm_set_wind()

void nps_fdm_set_wind ( double  speed,
double  dir 
)

Definition at line 200 of file nps_fdm_crrcsim.c.

References dir, FDMExec, and FeetOfMeters.

◆ nps_fdm_set_wind_ned()

void nps_fdm_set_wind_ned ( double  wind_north,
double  wind_east,
double  wind_down 
)

Definition at line 205 of file nps_fdm_crrcsim.c.

References FDMExec, and FeetOfMeters.

Referenced by nps_atmosphere_update().

+ Here is the caller graph for this function:

Variable Documentation

◆ fdm