mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-06-27 20:10:35 +08:00
vehicle_local_position topic updated, position_estimator_inav and commander fixes, only altitude estimate required for SETBELT now.
This commit is contained in:
@@ -54,27 +54,26 @@
|
||||
*/
|
||||
struct vehicle_local_position_s
|
||||
{
|
||||
uint64_t timestamp; /**< time of this estimate, in microseconds since system start */
|
||||
bool valid; /**< true if position satisfies validity criteria of estimator */
|
||||
|
||||
float x; /**< X positin in meters in NED earth-fixed frame */
|
||||
float y; /**< X positin in meters in NED earth-fixed frame */
|
||||
float z; /**< Z positin in meters in NED earth-fixed frame (negative altitude) */
|
||||
float absolute_alt; /**< Altitude as defined by pressure / GPS, LOGME */
|
||||
float vx; /**< Ground X Speed (Latitude), m/s in NED LOGME */
|
||||
float vy; /**< Ground Y Speed (Longitude), m/s in NED LOGME */
|
||||
float vz; /**< Ground Z Speed (Altitude), m/s in NED LOGME */
|
||||
float hdg; /**< Compass heading in radians -PI..+PI. */
|
||||
|
||||
// TODO Add covariances here
|
||||
|
||||
uint64_t timestamp; /**< Time of this estimate, in microseconds since system start */
|
||||
bool xy_valid; /**< true if x and y are valid */
|
||||
bool z_valid; /**< true if z is valid */
|
||||
bool v_xy_valid; /**< true if vy and vy are valid */
|
||||
bool v_z_valid; /**< true if vz is valid */
|
||||
/* Position in local NED frame */
|
||||
float x; /**< X position in meters in NED earth-fixed frame */
|
||||
float y; /**< X position in meters in NED earth-fixed frame */
|
||||
float z; /**< Z position in meters in NED earth-fixed frame (negative altitude) */
|
||||
/* Velocity in NED frame */
|
||||
float vx; /**< Ground X Speed (Latitude), m/s in NED */
|
||||
float vy; /**< Ground Y Speed (Longitude), m/s in NED */
|
||||
float vz; /**< Ground Z Speed (Altitude), m/s in NED */
|
||||
/* Reference position in GPS / WGS84 frame */
|
||||
uint64_t home_timestamp;/**< Time when home position was set */
|
||||
int32_t home_lat; /**< Latitude in 1E7 degrees LOGME */
|
||||
int32_t home_lon; /**< Longitude in 1E7 degrees LOGME */
|
||||
float home_alt; /**< Altitude in meters LOGME */
|
||||
float home_hdg; /**< Compass heading in radians -PI..+PI. */
|
||||
|
||||
bool global_xy; /**< true if position (x, y) is valid and has valid global reference (ref_lat, ref_lon) */
|
||||
bool global_z; /**< true if z is valid and has valid global reference (ref_alt) */
|
||||
uint64_t ref_timestamp; /**< Time when reference position was set */
|
||||
int32_t ref_lat; /**< Reference point latitude in 1E7 degrees */
|
||||
int32_t ref_lon; /**< Reference point longitude in 1E7 degrees */
|
||||
float ref_alt; /**< Reference altitude AMSL in meters, MUST be set to current (not at reference point!) ground level */
|
||||
bool landed; /**< true if vehicle is landed */
|
||||
};
|
||||
|
||||
|
||||
@@ -68,8 +68,7 @@ typedef enum {
|
||||
|
||||
/* navigation state machine */
|
||||
typedef enum {
|
||||
NAVIGATION_STATE_STANDBY = 0, // standby state, disarmed
|
||||
NAVIGATION_STATE_DIRECT, // true manual control, no any stabilization
|
||||
NAVIGATION_STATE_DIRECT = 0, // true manual control, no any stabilization
|
||||
NAVIGATION_STATE_STABILIZE, // attitude stabilization
|
||||
NAVIGATION_STATE_ALTHOLD, // attitude + altitude stabilization
|
||||
NAVIGATION_STATE_VECTOR, // attitude + altitude + position stabilization
|
||||
@@ -203,6 +202,7 @@ struct vehicle_status_s
|
||||
bool condition_launch_position_valid; /**< indicates a valid launch position */
|
||||
bool condition_home_position_valid; /**< indicates a valid home position (a valid home position is not always a valid launch) */
|
||||
bool condition_local_position_valid;
|
||||
bool condition_local_altitude_valid;
|
||||
bool condition_airspeed_valid; /**< set to true by the commander app if there is a valid airspeed measurement available */
|
||||
bool condition_landed; /**< true if vehicle is landed, always true if disarmed */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user