// generated from rosidl_adapter/resource/msg.idl.em
// with input from px4_msgs/msg/VehicleOdometry.msg
// generated code does not contain a copyright notice


module px4_msgs {
  module msg {
    typedef float float__3[3];
    typedef float float__4[4];
    module VehicleOdometry_Constants {
      const uint8 POSE_FRAME_UNKNOWN = 0;
      @verbatim (language="comment", text=
        "NED earth-fixed frame")
      const uint8 POSE_FRAME_NED = 1;
      @verbatim (language="comment", text=
        "FRD world-fixed frame, arbitrary heading reference")
      const uint8 POSE_FRAME_FRD = 2;
      const uint8 VELOCITY_FRAME_UNKNOWN = 0;
      @verbatim (language="comment", text=
        "NED earth-fixed frame")
      const uint8 VELOCITY_FRAME_NED = 1;
      @verbatim (language="comment", text=
        "FRD world-fixed frame, arbitrary heading reference")
      const uint8 VELOCITY_FRAME_FRD = 2;
      @verbatim (language="comment", text=
        "FRD body-fixed frame")
      const uint8 VELOCITY_FRAME_BODY_FRD = 3;
    };
    @verbatim (language="comment", text=
      "Vehicle odometry data. Fits ROS REP 147 for aerial vehicles")
    struct VehicleOdometry {
      @verbatim (language="comment", text=
        "time since system start (microseconds)")
      uint64 timestamp;

      uint64 timestamp_sample;

      @verbatim (language="comment", text=
        "Position and orientation frame of reference")
      uint8 pose_frame;

      @verbatim (language="comment", text=
        "Position in meters. Frame of reference defined by local_frame. NaN if invalid/unknown")
      float__3 position;

      @verbatim (language="comment", text=
        "Quaternion rotation from FRD body frame to reference frame. First value NaN if invalid/unknown")
      float__4 q;

      @verbatim (language="comment", text=
        "Reference frame of the velocity data")
      uint8 velocity_frame;

      @verbatim (language="comment", text=
        "Velocity in meters/sec. Frame of reference defined by velocity_frame variable. NaN if invalid/unknown")
      float__3 velocity;

      @verbatim (language="comment", text=
        "Angular velocity in body-fixed frame (rad/s). NaN if invalid/unknown")
      float__3 angular_velocity;

      float__3 position_variance;

      float__3 orientation_variance;

      float__3 velocity_variance;

      uint8 reset_counter;

      int8 quality;
    };
  };
};
