--- pageClass: is-wide-page --- # VehicleLocalPositionV0 (UORB message) Fused local position in NED. The coordinate system origin is the vehicle position at the time when the EKF2-module was started. **TOPICS:** vehicle_local_position vehicle_local_position_groundtruth external_ins_local_position estimator_local_position ## Fields | Назва | Тип | Unit [Frame] | Range/Enum | Опис | | ------------------------------------------------------------------------------------------ | ------------ | ---------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | | timestamp | `uint64` | | | time since system start (microseconds) | | timestamp_sample | `uint64` | | | the timestamp of the raw data (microseconds) | | xy_valid | `bool` | | | true if x and y are valid | | z_valid | `bool` | | | true if z is valid | | v_xy_valid | `bool` | | | true if vx and vy are valid | | v_z_valid | `bool` | | | true if vz is valid | | x | `float32` | | | North position in NED earth-fixed frame, (metres) | | y | `float32` | | | East position in NED earth-fixed frame, (metres) | | z | `float32` | | | Down position (negative altitude) in NED earth-fixed frame, (metres) | | delta_xy | `float32[2]` | | | Amount of lateral shift of position estimate in latest reset (in x and y) [m] | | xy_reset_counter | `uint8` | | | Index of latest lateral position estimate reset | | delta_z | `float32` | | | Amount of vertical shift of position estimate in latest reset [m] | | z_reset_counter | `uint8` | | | Index of latest vertical position estimate reset | | vx | `float32` | | | North velocity in NED earth-fixed frame, (metres/sec) | | vy | `float32` | | | East velocity in NED earth-fixed frame, (metres/sec) | | vz | `float32` | | | Down velocity in NED earth-fixed frame, (metres/sec) | | z_deriv | `float32` | | | Down position time derivative in NED earth-fixed frame, (metres/sec) | | delta_vxy | `float32[2]` | | | Amount of lateral shift of velocity estimate in latest reset (in x and y) [m/s] | | vxy_reset_counter | `uint8` | | | Index of latest vertical velocity estimate reset | | delta_vz | `float32` | | | Amount of vertical shift of velocity estimate in latest reset [m/s] | | vz_reset_counter | `uint8` | | | Index of latest vertical velocity estimate reset | | ax | `float32` | | | North velocity derivative in NED earth-fixed frame, (metres/sec^2) | | ay | `float32` | | | East velocity derivative in NED earth-fixed frame, (metres/sec^2) | | az | `float32` | | | Down velocity derivative in NED earth-fixed frame, (metres/sec^2) | | heading | `float32` | | | Euler yaw angle transforming the tangent plane relative to NED earth-fixed frame, -PI..+PI, (radians) | | heading_var | `float32` | | | | | unaided_heading | `float32` | | | Same as heading but generated by integrating corrected gyro data only | | delta_heading | `float32` | | | Heading delta caused by latest heading reset [rad] | | heading_reset_counter | `uint8` | | | Index of latest heading reset | | heading_good_for_control | `bool` | | | | | tilt_var | `float32` | | | | | xy_global | `bool` | | | true if position (x, y) has a valid global reference (ref_lat, ref_lon) | | z_global | `bool` | | | true if z has a valid global reference (ref_alt) | | ref_timestamp | `uint64` | | | Time when reference position was set since system start, (microseconds) | | ref_lat | `float64` | | | Reference point latitude, (degrees) | | ref_lon | `float64` | | | Reference point longitude, (degrees) | | ref_alt | `float32` | | | Reference altitude AMSL, (metres) | | dist_bottom_valid | `bool` | | | true if distance to bottom surface is valid | | dist_bottom | `float32` | | | Distance from from bottom surface to ground, (metres) | | dist_bottom_var | `float32` | | | terrain estimate variance (m^2) | | delta_dist_bottom | `float32` | | | Amount of vertical shift of dist bottom estimate in latest reset [m] | | dist_bottom_reset_counter | `uint8` | | | Index of latest dist bottom estimate reset | | dist_bottom_sensor_bitfield | `uint8` | | | bitfield indicating what type of sensor is used to estimate dist_bottom | | eph | `float32` | | | Standard deviation of horizontal position error, (metres) | | epv | `float32` | | | Standard deviation of vertical position error, (metres) | | evh | `float32` | | | Standard deviation of horizontal velocity error, (metres/sec) | | evv | `float32` | | | Standard deviation of vertical velocity error, (metres/sec) | | dead_reckoning | `bool` | | | True if this position is estimated through dead-reckoning | | vxy_max | `float32` | | | maximum horizontal speed - set to 0 when limiting not required (meters/sec) | | vz_max | `float32` | | | maximum vertical speed - set to 0 when limiting not required (meters/sec) | | hagl_min | `float32` | | | minimum height above ground level - set to 0 when limiting not required (meters) | | hagl_max | `float32` | | | maximum height above ground level - set to 0 when limiting not required (meters) | ## Constants | Назва | Тип | Значення | Опис | | ------------------------------------------------------------------------------------------------------------------------------ | -------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | MESSAGE_VERSION | `uint32` | 0 | | | DIST_BOTTOM_SENSOR_NONE | `uint8` | 0 | | | DIST_BOTTOM_SENSOR_RANGE | `uint8` | 1 | (1 << 0) a range sensor is used to estimate dist_bottom field | | DIST_BOTTOM_SENSOR_FLOW | `uint8` | 2 | (1 << 1) a flow sensor is used to estimate dist_bottom field (mostly fixed-wing use case) | ## Source Message [Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/px4_msgs_old/msg/VehicleLocalPositionV0.msg) :::details Click here to see original file ```c # Fused local position in NED. # The coordinate system origin is the vehicle position at the time when the EKF2-module was started. uint32 MESSAGE_VERSION = 0 uint64 timestamp # time since system start (microseconds) uint64 timestamp_sample # the timestamp of the raw data (microseconds) bool xy_valid # true if x and y are valid bool z_valid # true if z is valid bool v_xy_valid # true if vx and vy are valid bool v_z_valid # true if vz is valid # Position in local NED frame float32 x # North position in NED earth-fixed frame, (metres) float32 y # East position in NED earth-fixed frame, (metres) float32 z # Down position (negative altitude) in NED earth-fixed frame, (metres) # Position reset delta float32[2] delta_xy # Amount of lateral shift of position estimate in latest reset (in x and y) [m] uint8 xy_reset_counter # Index of latest lateral position estimate reset float32 delta_z # Amount of vertical shift of position estimate in latest reset [m] uint8 z_reset_counter # Index of latest vertical position estimate reset # Velocity in NED frame float32 vx # North velocity in NED earth-fixed frame, (metres/sec) float32 vy # East velocity in NED earth-fixed frame, (metres/sec) float32 vz # Down velocity in NED earth-fixed frame, (metres/sec) float32 z_deriv # Down position time derivative in NED earth-fixed frame, (metres/sec) # Velocity reset delta float32[2] delta_vxy # Amount of lateral shift of velocity estimate in latest reset (in x and y) [m/s] uint8 vxy_reset_counter # Index of latest vertical velocity estimate reset float32 delta_vz # Amount of vertical shift of velocity estimate in latest reset [m/s] uint8 vz_reset_counter # Index of latest vertical velocity estimate reset # Acceleration in NED frame float32 ax # North velocity derivative in NED earth-fixed frame, (metres/sec^2) float32 ay # East velocity derivative in NED earth-fixed frame, (metres/sec^2) float32 az # Down velocity derivative in NED earth-fixed frame, (metres/sec^2) float32 heading # Euler yaw angle transforming the tangent plane relative to NED earth-fixed frame, -PI..+PI, (radians) float32 heading_var float32 unaided_heading # Same as heading but generated by integrating corrected gyro data only float32 delta_heading # Heading delta caused by latest heading reset [rad] uint8 heading_reset_counter # Index of latest heading reset bool heading_good_for_control float32 tilt_var # Position of reference point (local NED frame origin) in global (GPS / WGS84) frame bool xy_global # true if position (x, y) has a valid global reference (ref_lat, ref_lon) bool z_global # true if z has a valid global reference (ref_alt) uint64 ref_timestamp # Time when reference position was set since system start, (microseconds) float64 ref_lat # Reference point latitude, (degrees) float64 ref_lon # Reference point longitude, (degrees) float32 ref_alt # Reference altitude AMSL, (metres) # Distance to surface bool dist_bottom_valid # true if distance to bottom surface is valid float32 dist_bottom # Distance from from bottom surface to ground, (metres) float32 dist_bottom_var # terrain estimate variance (m^2) float32 delta_dist_bottom # Amount of vertical shift of dist bottom estimate in latest reset [m] uint8 dist_bottom_reset_counter # Index of latest dist bottom estimate reset uint8 dist_bottom_sensor_bitfield # bitfield indicating what type of sensor is used to estimate dist_bottom uint8 DIST_BOTTOM_SENSOR_NONE = 0 uint8 DIST_BOTTOM_SENSOR_RANGE = 1 # (1 << 0) a range sensor is used to estimate dist_bottom field uint8 DIST_BOTTOM_SENSOR_FLOW = 2 # (1 << 1) a flow sensor is used to estimate dist_bottom field (mostly fixed-wing use case) float32 eph # Standard deviation of horizontal position error, (metres) float32 epv # Standard deviation of vertical position error, (metres) float32 evh # Standard deviation of horizontal velocity error, (metres/sec) float32 evv # Standard deviation of vertical velocity error, (metres/sec) bool dead_reckoning # True if this position is estimated through dead-reckoning # estimator specified vehicle limits float32 vxy_max # maximum horizontal speed - set to 0 when limiting not required (meters/sec) float32 vz_max # maximum vertical speed - set to 0 when limiting not required (meters/sec) float32 hagl_min # minimum height above ground level - set to 0 when limiting not required (meters) float32 hagl_max # maximum height above ground level - set to 0 when limiting not required (meters) # TOPICS vehicle_local_position vehicle_local_position_groundtruth external_ins_local_position # TOPICS estimator_local_position ``` :::