Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
Data Structures | |
struct | EcefCoor_d |
vector in EarthCenteredEarthFixed coordinates More... | |
struct | LlaCoor_d |
vector in Latitude, Longitude and Altitude More... | |
struct | NedCoor_d |
vector in North East Down coordinates Units: meters More... | |
struct | EnuCoor_d |
vector in East North Up coordinates Units: meters More... | |
struct | UtmCoor_d |
position in UTM coordinates Units: meters More... | |
struct | LtpDef_d |
definition of the local (flat earth) coordinate system More... | |
Functions | |
void | lla_of_utm_d (struct LlaCoor_d *lla, struct UtmCoor_d *utm) |
void | utm_of_lla_d (struct UtmCoor_d *utm, struct LlaCoor_d *lla) |
void | ltp_def_from_ecef_d (struct LtpDef_d *def, struct EcefCoor_d *ecef) |
void | ltp_def_from_lla_d (struct LtpDef_d *def, struct LlaCoor_d *lla) |
void | lla_of_ecef_d (struct LlaCoor_d *out, struct EcefCoor_d *in) |
void | ecef_of_lla_d (struct EcefCoor_d *out, struct LlaCoor_d *in) |
void | enu_of_ecef_point_d (struct EnuCoor_d *ned, struct LtpDef_d *def, struct EcefCoor_d *ecef) |
void | ned_of_ecef_point_d (struct NedCoor_d *ned, struct LtpDef_d *def, struct EcefCoor_d *ecef) |
void | enu_of_ecef_vect_d (struct EnuCoor_d *ned, struct LtpDef_d *def, struct EcefCoor_d *ecef) |
void | ned_of_ecef_vect_d (struct NedCoor_d *ned, struct LtpDef_d *def, struct EcefCoor_d *ecef) |
void | ecef_of_enu_point_d (struct EcefCoor_d *ecef, struct LtpDef_d *def, struct EnuCoor_d *enu) |
void | ecef_of_ned_point_d (struct EcefCoor_d *ecef, struct LtpDef_d *def, struct NedCoor_d *ned) |
void | ecef_of_enu_vect_d (struct EcefCoor_d *ecef, struct LtpDef_d *def, struct EnuCoor_d *enu) |
void | ecef_of_ned_vect_d (struct EcefCoor_d *ecef, struct LtpDef_d *def, struct NedCoor_d *ned) |
void | enu_of_lla_point_d (struct EnuCoor_d *enu, struct LtpDef_d *def, struct LlaCoor_d *lla) |
void | ned_of_lla_point_d (struct NedCoor_d *ned, struct LtpDef_d *def, struct LlaCoor_d *lla) |
double | gc_of_gd_lat_d (double gd_lat, double hmsl) |
struct EcefCoor_d |
vector in EarthCenteredEarthFixed coordinates
Origin at center of mass of the Earth. Z-axis is pointing north, the x-axis intersects the sphere of the earth at 0° latitude (Equator) and 0° longitude (Greenwich). Y-axis completes it to right-hand system. Units: meters
Definition at line 49 of file pprz_geodetic_double.h.
Data Fields | ||
---|---|---|
double | x | in meters |
double | y | in meters |
double | z | in meters |
struct LlaCoor_d |
vector in Latitude, Longitude and Altitude
Definition at line 58 of file pprz_geodetic_double.h.
Data Fields | ||
---|---|---|
double | alt | in meters above WGS84 reference ellipsoid |
double | lat | in radians |
double | lon | in radians |
struct NedCoor_d |
vector in North East Down coordinates Units: meters
Definition at line 67 of file pprz_geodetic_double.h.
Data Fields | ||
---|---|---|
double | x | in meters |
double | y | in meters |
double | z | in meters |
struct EnuCoor_d |
vector in East North Up coordinates Units: meters
Definition at line 76 of file pprz_geodetic_double.h.
Data Fields | ||
---|---|---|
double | x | in meters |
double | y | in meters |
double | z | in meters |
struct UtmCoor_d |
position in UTM coordinates Units: meters
Definition at line 85 of file pprz_geodetic_double.h.
Data Fields | ||
---|---|---|
double | alt | in meters (above WGS84 reference ellipsoid or above MSL) |
double | east | in meters |
double | north | in meters |
uint8_t | zone | UTM zone number. |
struct LtpDef_d |
definition of the local (flat earth) coordinate system
Defines the origin of the local coordinate system in ECEF and LLA coordinates and the roation matrix from ECEF to local frame
Definition at line 97 of file pprz_geodetic_double.h.
Data Fields | ||
---|---|---|
struct EcefCoor_d | ecef | origin of local frame in ECEF |
double | hmsl | height in meters above mean sea level |
struct LlaCoor_d | lla | origin of local frame in LLA |
struct DoubleRMat | ltp_of_ecef | rotation from ECEF to local frame |
void ecef_of_enu_point_d | ( | struct EcefCoor_d * | ecef, |
struct LtpDef_d * | def, | ||
struct EnuCoor_d * | enu | ||
) |
Definition at line 168 of file pprz_geodetic_double.c.
References LtpDef_d::ecef, LtpDef_d::ltp_of_ecef, MAT33_VECT3_TRANSP_MUL, and VECT3_ADD.
Referenced by ecef_of_ned_point_d(), get_pos(), and nps_fdm_run_step().
void ecef_of_enu_vect_d | ( | struct EcefCoor_d * | ecef, |
struct LtpDef_d * | def, | ||
struct EnuCoor_d * | enu | ||
) |
Definition at line 181 of file pprz_geodetic_double.c.
References LtpDef_d::ltp_of_ecef, and MAT33_VECT3_TRANSP_MUL.
Referenced by ecef_of_ned_vect_d(), get_acc(), get_vel(), and nps_fdm_run_step().
void ecef_of_lla_d | ( | struct EcefCoor_d * | out, |
struct LlaCoor_d * | in | ||
) |
Definition at line 120 of file pprz_geodetic_double.c.
References LlaCoor_d::alt, f, LlaCoor_d::lat, LlaCoor_d::lon, EcefCoor_d::x, EcefCoor_d::y, and EcefCoor_d::z.
Referenced by decode_gpspacket(), ecef_of_lla_i(), enu_of_lla_point_d(), init_jsbsim(), init_ltp(), ltp_def_from_lla_d(), and ned_of_lla_point_d().
void ecef_of_ned_point_d | ( | struct EcefCoor_d * | ecef, |
struct LtpDef_d * | def, | ||
struct NedCoor_d * | ned | ||
) |
Definition at line 174 of file pprz_geodetic_double.c.
References ecef_of_enu_point_d(), and ENU_OF_TO_NED.
Referenced by gazebo_read().
void ecef_of_ned_vect_d | ( | struct EcefCoor_d * | ecef, |
struct LtpDef_d * | def, | ||
struct NedCoor_d * | ned | ||
) |
Definition at line 186 of file pprz_geodetic_double.c.
References ecef_of_enu_vect_d(), and ENU_OF_TO_NED.
Referenced by decode_gpspacket(), and gazebo_read().
void enu_of_ecef_point_d | ( | struct EnuCoor_d * | ned, |
struct LtpDef_d * | def, | ||
struct EcefCoor_d * | ecef | ||
) |
Definition at line 140 of file pprz_geodetic_double.c.
References LtpDef_d::ecef, LtpDef_d::ltp_of_ecef, MAT33_VECT3_MUL, and VECT3_DIFF.
Referenced by enu_of_lla_point_d(), ned_of_ecef_point_d(), and nps_fdm_run_step().
void enu_of_ecef_vect_d | ( | struct EnuCoor_d * | ned, |
struct LtpDef_d * | def, | ||
struct EcefCoor_d * | ecef | ||
) |
Definition at line 154 of file pprz_geodetic_double.c.
References LtpDef_d::ltp_of_ecef, and MAT33_VECT3_MUL.
Referenced by ned_of_ecef_vect_d(), and nps_fdm_run_step().
Definition at line 194 of file pprz_geodetic_double.c.
References ecef_of_lla_d(), and enu_of_ecef_point_d().
double gc_of_gd_lat_d | ( | double | gd_lat, |
double | hmsl | ||
) |
Definition at line 210 of file pprz_geodetic_double.c.
Referenced by gazebo_read(), and init_jsbsim().
void lla_of_ecef_d | ( | struct LlaCoor_d * | out, |
struct EcefCoor_d * | in | ||
) |
Definition at line 83 of file pprz_geodetic_double.c.
References LlaCoor_d::alt, b, f, LlaCoor_d::lat, LlaCoor_d::lon, P, s, logger_uart_parse::s1, EcefCoor_d::x, EcefCoor_d::y, EcefCoor_d::z, and z2.
Referenced by fetch_state(), gazebo_read(), get_pos(), lla_of_ecef_i(), ltp_def_from_ecef_d(), nps_fdm_run_step(), and nps_sensor_gps_run_step().
Definition at line 311 of file pprz_geodetic_double.c.
References LlaCoor_d::alt, UtmCoor_d::alt, CSin, DELTA_EAST, DELTA_NORTH, E, UtmCoor_d::east, inverse_isometric_latitude_d(), isometric_latitude_fast_d(), LambdaOfUtmZone, LlaCoor_d::lat, LlaCoor_d::lon, N, UtmCoor_d::north, scale, serie_coeff_proj_mercator, serie_coeff_proj_mercator_inverse, VECT2_SMUL, VECT2_SUB, DoubleVect2::x, DoubleVect2::y, and UtmCoor_d::zone.
Referenced by lla_of_utm_i().
void ltp_def_from_ecef_d | ( | struct LtpDef_d * | def, |
struct EcefCoor_d * | ecef | ||
) |
Definition at line 34 of file pprz_geodetic_double.c.
References LtpDef_d::ecef, LlaCoor_d::lat, LtpDef_d::lla, lla_of_ecef_d(), LlaCoor_d::lon, LtpDef_d::ltp_of_ecef, DoubleRMat::m, and VECT3_COPY.
Referenced by gps_feed_value(), and init_ltp().
Definition at line 57 of file pprz_geodetic_double.c.
References LtpDef_d::ecef, ecef_of_lla_d(), LlaCoor_d::lat, LtpDef_d::lla, LLA_COPY, LlaCoor_d::lon, LtpDef_d::ltp_of_ecef, and DoubleRMat::m.
void ned_of_ecef_point_d | ( | struct NedCoor_d * | ned, |
struct LtpDef_d * | def, | ||
struct EcefCoor_d * | ecef | ||
) |
Definition at line 147 of file pprz_geodetic_double.c.
References enu_of_ecef_point_d(), and ENU_OF_TO_NED.
Referenced by decode_gpspacket(), fetch_state(), ned_of_lla_point_d(), and nps_fdm_run_step().
void ned_of_ecef_vect_d | ( | struct NedCoor_d * | ned, |
struct LtpDef_d * | def, | ||
struct EcefCoor_d * | ecef | ||
) |
Definition at line 159 of file pprz_geodetic_double.c.
References enu_of_ecef_vect_d(), and ENU_OF_TO_NED.
Referenced by decode_gpspacket(), fetch_state(), gps_feed_value(), and nps_fdm_run_step().
Definition at line 201 of file pprz_geodetic_double.c.
References ecef_of_lla_d(), and ned_of_ecef_point_d().
Definition at line 276 of file pprz_geodetic_double.c.
References LlaCoor_d::alt, UtmCoor_d::alt, CSin, DELTA_EAST, DELTA_NORTH, E, UtmCoor_d::east, isometric_latitude_d(), isometric_latitude_fast_d(), LambdaOfUtmZone, LlaCoor_d::lat, LlaCoor_d::lon, N, UtmCoor_d::north, serie_coeff_proj_mercator, UtmZoneOfLlaLonRad, VECT2_ADD, VECT2_SMUL, DoubleVect2::x, DoubleVect2::y, and UtmCoor_d::zone.
Referenced by utm_of_lla_i().