![]() |
Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
#include "nps_fdm.h"
#include <stdlib.h>
#include <stdio.h>
#include "std.h"
#include "math/pprz_geodetic.h"
#include "math/pprz_geodetic_double.h"
#include "math/pprz_geodetic_float.h"
#include "math/pprz_algebra.h"
#include "math/pprz_algebra_float.h"
#include "math/pprz_isa.h"
#include "generated/airframe.h"
#include "generated/flight_plan.h"
#include "generated/modules.h"
#include "state.h"
Go to the source code of this file.
Functions | |
static void | init_ltp (void) |
void | nps_fdm_init (double dt) |
NPS FDM rover init. | |
void | nps_fdm_run_step (bool launch, double *commands, int commands_nb) |
Minimum complexity flight dynamic model In legacy Paparazzi simulator, was implemented in OCaml and correspond to the 'sim' target. | |
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. | |
Variables | |
struct NpsFdm | fdm |
Holds all necessary NPS FDM state information. | |
static struct LtpDef_d | ltpdef |
static struct NedCoor_d | rover_pos |
Physical model structures. | |
static struct NedCoor_d | rover_vel |
static struct NedCoor_d | rover_acc |
Definition at line 225 of file nps_fdm_rover.c.
References ecef_of_lla_d(), NpsFdm::ecef_pos, fdm, foo, LtpDef_d::hmsl, NpsFdm::hmsl, LlaCoor_d::lat, ltp_def_from_ecef_d(), NpsFdm::ltp_g, NpsFdm::ltp_h, ltpdef, PRINT_CONFIG_MSG(), DoubleVect3::x, DoubleVect3::y, and DoubleVect3::z.
Referenced by nps_fdm_init().
NPS FDM rover init.
NPS FDM rover init.
dt |
Definition at line 110 of file nps_fdm_rover.c.
References _crrcsim::buf, crrcsim, NpsFdm::curr_dt, NpsFdm::dynamic_pressure, fdm, foo, NpsFdm::init_dt, init_first_order_low_pass(), init_ltp(), init_ltp(), inputbuf_init(), NpsFdm::ltpprz_to_body_eulers, NpsFdm::nan_count, NPS_CRRCSIM_HOST_IP, NPS_CRRCSIM_HOST_PORT, NpsFdm::on_ground, open_udp(), PPRZ_ISA_SEA_LEVEL_PRESSURE, NpsFdm::pressure, NpsFdm::pressure_sl, DoubleEulers::psi, send_servo_cmd(), _crrcsim::socket, NpsFdm::temperature, NpsFdm::time, NpsFdm::total_pressure, TRUE, and UDP_NONBLOCKING.
Referenced by nps_main_init().
Minimum complexity flight dynamic model In legacy Paparazzi simulator, was implemented in OCaml and correspond to the 'sim' target.
Johnson, E.N., Fontaine, S.G., and Kahn, A.D., “Minimum Complexity Uninhabited Air Vehicle Guidance And Flight Control System,” Proceedings of the 20th Digital Avionics Systems Conference, 2001. http://www.ae.gatech.edu/~ejohnson/JohnsonFontaineKahn.pdf
Johnson, E.N. and Fontaine, S.G., “Use Of Flight Simulation To Complement Flight Testing Of Low-Cost UAVs,” Proceedings of the AIAA Modeling and Simulation Technology Conference, 2001. http://www.ae.gatech.edu/~ejohnson/AIAA%202001-4059.pdf
Minimum complexity flight dynamic model In legacy Paparazzi simulator, was implemented in OCaml and correspond to the 'sim' target.
launch | |
act_commands | |
commands_nb |
Definition at line 132 of file nps_fdm_rover.c.
References NpsFdm::body_ecef_rotaccel, NpsFdm::body_ecef_rotvel, commands, crrcsim, NpsFdm::curr_dt, _crrcsim::data_buffer, decode_ahrspacket(), decode_gpspacket(), decode_imupacket(), double_quat_of_eulers(), DRIVE_SHAFT_DISTANCE, NpsFdm::ecef_ecef_accel, NpsFdm::ecef_ecef_vel, ecef_of_ned_point_d(), ecef_of_ned_vect_d(), NpsFdm::ecef_pos, fdm, FLOAT_VECT2_NORM, foo, get_msg(), LtpDef_d::hmsl, NpsFdm::hmsl, NpsFdm::ltp_to_body_eulers, NpsFdm::ltp_to_body_quat, ltpdef, NpsFdm::ltpprz_ecef_accel, NpsFdm::ltpprz_ecef_vel, NpsFdm::ltpprz_pos, NpsFdm::ltpprz_to_body_eulers, MAX_DELTA, ned_of_ecef_point_d(), ned_of_ecef_vect_d(), DoubleEulers::psi, DoubleRates::r, rover_acc, rover_pos, rover_vel, send_servo_cmd(), speed_sp, NpsFdm::time, update_first_order_low_pass(), NedCoor_d::x, NedCoor_d::y, and NedCoor_d::z.
Referenced by nps_main_run_sim_step().
Set temperature in degrees Celcius at given height h above MSL.
Definition at line 277 of file nps_fdm_rover.c.
Definition at line 272 of file nps_fdm_rover.c.
Referenced by nps_atmosphere_update().
Definition at line 261 of file nps_fdm_rover.c.
Definition at line 266 of file nps_fdm_rover.c.
Referenced by nps_atmosphere_update().
struct NpsFdm fdm |
Holds all necessary NPS FDM state information.
Definition at line 95 of file nps_fdm_rover.c.
Referenced by gps_feed_value(), init_ltp(), nps_fdm_init(), nps_fdm_run_step(), nps_flightgear_send(), nps_flightgear_send_fdm(), nps_ivy_display(), nps_ivy_send_WORLD_ENV_REQ(), nps_main_display(), nps_main_loop(), nps_sensor_accel_run_step(), nps_sensor_airspeed_run_step(), nps_sensor_aoa_run_step(), nps_sensor_baro_run_step(), nps_sensor_gps_run_step(), nps_sensor_gyro_run_step(), nps_sensor_mag_run_step(), nps_sensor_sideslip_run_step(), nps_sensor_sonar_run_step(), nps_sensor_temperature_run_step(), sim_overwrite_ahrs(), and sim_overwrite_ins().
|
static |
Definition at line 98 of file nps_fdm_rover.c.
Referenced by init_ltp(), and nps_fdm_run_step().
|
static |
Definition at line 106 of file nps_fdm_rover.c.
Referenced by nps_fdm_run_step().
|
static |
Physical model structures.
Definition at line 104 of file nps_fdm_rover.c.
Referenced by fill_bayesian_cell(), fill_free_cells(), and nps_fdm_run_step().
|
static |
Definition at line 105 of file nps_fdm_rover.c.
Referenced by nps_fdm_run_step().