Message definition for attitude data.
| Field | Type | Label | Description |
| attitude_local | AttitudeLocal | optional | Local attitude data. |
| attitude_global | AttitudeGlobal | optional | Global attitude data. |
| body_rates | BodyRates | optional | Body rates data. |
| euler_angular_rates | EulerAngularRates | optional | Euler angular rates data. |
Message definition for INS calibration data.
| Field | Type | Label | Description |
| IMU_SENSOR_CORRECTION_ACC | GenericCalibration | optional | Calibration data for accelerometer sensor. |
| IMU_SENSOR_CORRECTION_GYRO | GenericCalibration | optional | Calibration data for gyroscope sensor. |
| IMU_SENSOR_CORRECTION_MAG | GenericCalibration | optional | Calibration data for magnetometer sensor. |
| MAG_SENSOR_CORRECTION | GenericCalibration | optional | Calibration data for magnetometer sensor. |
| BARO_SENSOR_CORRECTION | GenericCalibration | optional | Calibration data for barometer sensor. |
| Field | Type | Label | Description |
| start_byte | uint32 | Start byte of the data frame. |
|
| timestamp | uint64 | Timestamp of the logger frame in us. |
|
| binaryHeader | bytes | optional | Header of the logger frame (with variables names), written one time at the beginning of the log file. char encoded as bytes to avoid fixed size encoding |
| binaryTypes | bytes | optional | Header of the logger frame (with variables types), written one time at the beginning of the log file. char encoded as bytes to avoid fixed size encoding |
| binaryData | bytes | optional | Binary data of the logger frame. |
| protobufHeader | bytes | optional | Header of the protobuf frame (with variables names), written one time at the beginning of the log file. char encoded as bytes to avoid fixed size encoding |
| protobufData | bytes | optional | Binary data of the logger protobuf logged messages (RX or TX) |
| mavlinkHeader | bytes | optional | Header of the mavlink frame (with variables names), written one time at the beginning of the log file. char encoded as bytes to avoid fixed size encoding |
| mavlinkID | bytes | optional | Header of the mavlink frame (with variables ID), written one time at the beginning of the log file. char encoded as bytes to avoid fixed size encoding |
| mavlinkData | bytes | optional | Binary data of the logger mavlink logged messages (RX or TX) |
| ulogData | bytes | optional | Binary data of the ulog messages, char encoded as bytes to avoid fixed size encoding |
| end_byte | uint32 | End byte of the data frame. |
Message definition for position, velocity, and acceleration data.
| Field | Type | Label | Description |
| position_local | PositionLocal | optional | Local position data. |
| position_global | PositionGlobal | optional | Global position data. |
Messages that will be broadcasted using protobuf protocol. A unique frame called ProtoFrame will be sent containing
all the optional messages.
For ensuring frame has been correctly encoded/decoded, a start and end byte will be added
to the frame. The frame will always be prefixed with its length.
| Field | Type | Label | Description |
| start_byte | uint32 | Start byte of the data frame. |
|
| timestamp | uint64 | Timestamp of the data frame in us. |
|
| ins_calibration | InsCalibration | optional | Calibration data for the INS. |
| sensors | Sensors | optional | Sensor data. |
| attitude | Attitude | optional | Attitude data. |
| position_velocity_acceleration | PositionVelocityAcceleration | optional | Position, velocity, and acceleration data. |
| end_byte | uint32 | End byte of the data frame. |
Message definition for sensor data.
| Field | Type | Label | Description |
| accelerometer_raw | AccelerometerRaw | optional | Accelerometer sensor data. |
| gyrometer_raw | GyrometerRaw | optional | Gyroscope sensor data. |
| magnetometer_raw | MagnetometerRaw | optional | Magnetometer sensor data. |
| barometer_raw | BarometerRaw | optional | Barometer sensor data. |
| gps_raw | GPSRaw | optional | GPS sensor data. |
Raw data from the accelerometer
| Field | Type | Label | Description |
| xyz | VectorAxis3f | Accelerometer xyz [g] |
Attitude in global frame (yaw value is given by the magnetometer, so aligned with the magnetic north)
| Field | Type | Label | Description |
| ypr | angles | optional | Euler angles given using yaw, pitch, roll (Tait-Bryan) decomposition [rad] |
| quaternion | Quaternion | optional | Quaternion |
Attitude in local frame (yaw reference value is fixed to 0 at startup)
| Field | Type | Label | Description |
| ypr | angles | optional | Euler angles given using yaw, pitch, roll (Tait-Bryan) decomposition [rad] |
| quaternion | Quaternion | optional | Quaternion |
Raw data from the barometer
| Field | Type | Label | Description |
| pressure | float | Barometer pressure [hPa] |
|
| temperature | float | optional | Barometer temperature [degC] |
| Field | Type | Label | Description |
| pqr_raw | VectorAxis3f | optional | Body rates as given by gyrometer converted and filtered [rad/s] |
| pqr | VectorAxis3f | optional | Body rates processed by ins [rad/s] |
| pqr_dot | VectorAxis3f | optional | Body accelerations [rad/s^2] |
| Field | Type | Label | Description |
| ypr_rate_raw | VectorAxis3f | optional | Raw Euler rates computed from pqr_raw, given in this order: yawVelocity, pitchVelocity, rollVelocity[rad/s] |
| ypr_rate | VectorAxis3f | optional | Euler rates computed from pqr, given in this order: yawVelocity, pitchVelocity, rollVelocity[rad/s] |
| ypr_rate_dot | VectorAxis3f | optional | Euler angular accelerations [rad/s^2] |
Raw data from the GPS
| Field | Type | Label | Description |
| latitude | float | GPS latitude [deg] |
|
| longitude | float | GPS longitude [deg] |
|
| altitude | float | optional | GPS altitude [m] |
| speed | float | optional | GPS speed [m/s] |
| satellites | int32 | optional | GPS number of satellites |
| fix_type | int32 | optional | GPS fix type |
| utc_time | float | optional | GPS UTC time [s] |
Generic calibration message
| Field | Type | Label | Description |
| xyzBias | VectorAxis3f | optional | Sensor xyz bias |
| xyzGain | VectorAxis3f | optional | Sensor xyz gain/scale factor |
| degTemperatureDriftAxis | float | repeated | Interpolation axis for the temperature drift compensation [deg] |
| gTemperatureDriftValue | float | repeated | Interpolated value for the temperature drift compensation [g] |
| sTemporalDriftAxis | float | repeated | Interpolation axis for the temporal drift compensation [s] |
| gTemporalDriftValue | float | repeated | Interpolated value for the temporal drift compensation [g] |
Raw data from the gyrometer
| Field | Type | Label | Description |
| xyz | VectorAxis3f | Gyrometer xyz [rad/s] |
Raw data from the magnetometer
| Field | Type | Label | Description |
| xyz | VectorAxis3f | Magnetometer xyz [uT] |
Position, speed, acceleration in global frame (yaw value is given by the magnetometer, so aligned with the magnetic north)
The altitude is given considering the sea level as the reference
| Field | Type | Label | Description |
| position_states | positionStates |
|
|
| altitude | float | optional |
|
Position, speed, acceleration in local frame (yaw reference value is fixed to 0 at startup)
The altitude is given considering the ground at startup as the reference
| Field | Type | Label | Description |
| position_states | positionStates |
|
|
| altitude | float | optional |
|
====================================================== //
===================== Basic types ==================== //
====================================================== //
| Field | Type | Label | Description |
| qw | float | Quaternion scalar part |
|
| qx | float | Quaternion vector part |
|
| qy | float |
|
|
| qz | float |
|
| Field | Type | Label | Description |
| x | float | Vector x component |
|
| y | float | Vector y component |
|
| z | float | Vector z component |
| Field | Type | Label | Description |
| yaw | float | optional | Yaw angle [rad] |
| pitch | float | optional | Pitch angle [rad] |
| roll | float | optional | Roll angle [rad] |
| Field | Type | Label | Description |
| position | VectorAxis3f | Positions xyz [m] |
|
| velocity | VectorAxis3f | optional | Velocities xyz [m/s] |
| acceleration | VectorAxis3f | optional | Accelerations xyz [m/s^2] |
| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
| double | double | double | float | float64 | double | float | Float | |
| float | float | float | float | float32 | float | float | Float | |
| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) |
| uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) |
| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) |
| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum |
| sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
| sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum |
| bool | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | |
| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |