NORSUB6g
The NORSUB6g protocol is a proprietary communication standard with an NMEA-based format, designed to store the data listed below. Note that NORSUB6g includes gravity in the z-axis acceleration measurement.
Data:
Roll, pitch, heading
Surge, sway, heave
Roll rate, pitch rate, yaw rate
Surge velocity, sway velocity, heave velocity
x acceleration, y acceleration, z acceleration (including gravity)
Format:
$PNORSUB6,T1,T2,roll,pitch,heading,surge,sway,heave,roll_rate,pitch_rate, yaw_rate,surge_vel,sway_vel, heave_vel,acc_x,acc_y,acc_zG,status*CS<CR><LF>
NORSUB6g protocol description | |||||
---|---|---|---|---|---|
FIELD N. | FIELD | DESCRIPTION | UNIT | TYPE | NOTE |
0 | $PNORSUB6 | identifier | - | string | Telegram identifier. |
1 | T1 | time for valid measurement (internal clock) | [us] | uint32 | Can store values from 0 to (2^32-1). |
2 | T2 | delay from T1 to telegram is sent | [us] | uint32 | Can store values from 0 to (2^32-1). |
3 | roll | roll angle | [deg] | DBL (%.4f) | Floating-point number with four decimal places. |
4 | pitch | pitch angle | [deg] | DBL (%.4f) | Floating-point number with four decimal places. |
5 | heading | heading angle | [deg] | DBL (%.4f) | Floating-point number with four decimal places. Range: [0.001 - 359.9999]. |
6 | surge | surge | [m] | DBL (%.4f) | Floating-point number with four decimal places. |
7 | sway | sway | [m] | DBL (%.4f) | Floating-point number with four decimal places. |
8 | heave | heave | [m] | DBL (%.4f) | Floating-point number with four decimal places. Sign: Positive (+) when z-down. |
9 | roll_rate | roll rate | [deg/s] | DBL (%.4f) | Floating-point number with four decimal places. |
10 | pitch_rate | pitch rate | [deg/s] | DBL (%.4f) | Floating-point number with four decimal places. |
11 | yaw_rate | yaw rate | [deg/s] | DBL (%.4f) | Floating-point number with four decimal places. |
12 | surge_vel | surge velocity | [m/s] | DBL (%.4f) | Floating-point number with four decimal places. |
13 | sway_vel | sway velocity | [m/s] | DBL (%.4f) | Floating-point number with four decimal places. |
14 | heave_vel | heave velocity | [m/s] | DBL (%.4f) | Floating-point number with four decimal places. Sign: Positive (+) when z-down. |
15 | acc_x | acceleration x | [m/s²] | DBL (%.5f) | Floating-point number with five decimal places. |
16 | acc_y | acceleration y | [m/s²] | DBL (%.5f) | Floating-point number with five decimal places. |
17 | acc_zG | acceleration z incl. g | [m/s²] | DBL (%.5f) | Floating-point number with five decimal places. |
18 | status | full status message | - | uint32 | 1: OK, 0: error. See health monitoring system for more details. |
19 | CS | NMEA checksum | - | HEX | XOR of characters between $ and * |
Example:
NORSUB6 frame with raw example data is listed below.
$PNORSUB6,735924181,7566,0.188,0.447,357.132,0.012,-0.002,-0.001,-0.000, -0.000,0.003,0.012,0.003,-0.002,0.07679,-0.04408,-9.83225,1*71<CR><LF>
Field 0 | Field 1 | Field 2 | Field 3 | Field 4 | Field 5 | Field 6 | Field 7 | Field 8 | Field 9 | Field 10 | Field 11 | Field 12 | Field 13 | Field 14 | Field 15 | Field 16 | Field 17 | Field 18 | Field 19 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
$PNORSUB6 | 735924181 | 7566 | 0.188 | 0.447 | 357.132 | 0.012 | -0.002 | -0.001 | -0.002 | -0.002 | 0.003 | 0.012 | 0.003 | -0.002 | 0.07679 | -0.04408 | -9.83225 | 1 | 71 |
Decoded values:
T1
Raw value: 735924181, decoded time: 735924.181 seconds.
T2
Raw value: 7566, decoded time: 7.566 seconds.
roll
Raw value: 0.188, decoded roll angle: 0.188 degrees.
pitch
Raw value: 0.447, decoded pitch angle: 0.447 degrees.
heading
Raw value: 357.132, decoded heading angle: 357.132 degrees.
heave
Raw value: 0.012, decoded heave: 0.012 m.
roll rate
Raw value: -0.002, decoded roll rate: -0.002 deg/s.
pitch rate
Raw value: -0.001, decoded pitch rate: -0.001 deg/s.
yaw rate
Raw value: -0.002, decoded yaw rate: -0.002 deg/s.
surge velocity
Raw value: -0.002, decoded surge velocity: -0.002 m/s.
sway velocity
Raw value: 0.003, decoded surge velocity: 0.003 m/s.
heave velocity
Raw value: 0.012, decoded heave velocity: 0.0012 m/s.
acceleration x
Raw value: 0.003, decoded acc x: 0.003 m/s².
acceleration y
Raw value: -0.002, decoded acc y: -0.002 m/s².
acceleration z
Raw value: 0.07679, decoded acc z: -9.83225 m/s².
status
Raw value: 1, decoded status: OK.
checksum:
Created from XOR operations of characters between $ and * in the example frame.
Note
Unlike industry standards, the NORSUB6g protocol has a fixed reference frame for data (e.g., heave). However, the data's location (e.g., MRU or MP1) remains configurable.