IMU (100 Hz, 8 byte)
Configuration file fields
This section is autogenerated from the Rule Schema.
IMU orientation (10 ms) output.imu
State output.imu.state
Type |
Default |
Options |
---|---|---|
integer |
1 |
Disable: |
ID Format output.imu.id_format
ID format of the message
Type |
Default |
Options |
---|---|---|
integer |
0 |
Standard (11-bit): |
Message ID (hex) output.imu.id
ID of the message in hex. Example: 00435354.
Type |
Default |
---|---|
string |
01 |
Trigger method output.imu.trigger
Transmission trigger method. Push: Signal is periodically transmitted. Poll: Signal is transmitted on request
Type |
Default |
Options |
---|---|---|
integer |
0 |
Push: |
IMU coordinate system
The coordinate system defines the axis used by the IMU sensors.
Frame layout
Note
The frame layout is defined in the CANmod.gps DBC file
The IMU frame contains 3 x acceleration + 3 x angular rate.
Note
The IMU output results are rotated according to the angles entered in IMU mount alignment
Name |
Bitpos |
Length |
Factor |
Offset |
Min |
Max |
Unit |
---|---|---|---|---|---|---|---|
ImuValid |
0 |
1 |
1 |
0 |
0 |
1 |
|
AccelerationX |
1 |
10 |
0.125 |
-64 |
-64 |
63.875 |
\(\texttt{ m/s}^2\) |
AccelerationY |
11 |
10 |
0.125 |
-64 |
-64 |
63.875 |
\(\texttt{ m/s}^2\) |
AccelerationZ |
21 |
10 |
0.125 |
-64 |
-64 |
63.875 |
\(\texttt{ m/s}^2\) |
AngularRateX |
31 |
11 |
0.25 |
-256 |
-256 |
255.75 |
\(\texttt{ deg/s}\) |
AngularRateY |
42 |
11 |
0.25 |
-256 |
-256 |
255.75 |
\(\texttt{ deg/s}\) |
AngularRateZ |
53 |
11 |
0.25 |
-256 |
-256 |
255.75 |
\(\texttt{ deg/s}\) |
ImuValid
The ImuValid signal can take one of the following values:
0: Invalid
1: Valid
AccelerationX, AccelerationY, AccelerationZ
AccelerationX
, AccelerationY
, AccelerationZ
express linear acceleration in\(\texttt{ m/s}^2\) along the device X, Y and Z axis respectively.
Note
The acceleration measurements include a constant component from gravity. With the device at standstill, the gravity vector becomes \([x, y, z]^T \approx [0, 0, 9.82]^T\) [1].
AngularRateX, AngularRateY, AngularRateZ
AngularRateX
, AngularRateY
, AngularRateZ
express the angular rate in\(\texttt{ deg/s}\) around the device X, Y and Z axis respectively.
Note
Note that AccelerationX
, AccelerationY
, AccelerationZ
express linear acceleration while AngularRateX
, AngularRateY
, AngularRateZ
express angular rotational speed.
Decoding example
Raw IMU frame payload:
Hex:
0144103F00A2107B
(byte 0 to the left)Hex reversed:
7B10A2003F104401
(byte 0 to the right)Bin:
01111011000 10000101000 10000000000 0111111000 1000001000 1000000000 1
(bit 0 to the right)
AngularRateZ(11) |
AngularRateY(11) |
AngularRateX(11) |
AccelerationZ(10) |
AccelerationY(10) |
AccelerationX(10) |
ImuValid(1) |
|
---|---|---|---|---|---|---|---|
Raw (bin) |
01111011000 |
10000101000 |
10000000000 |
0111111000 |
1000001000 |
1000000000 |
1 |
Raw (dec) |
984 |
1064 |
1024 |
504 |
520 |
512 |
1 |
Scaled |
246.0 |
266.0 |
256.0 |
63.0 |
65.0 |
64.0 |
1 |
Offset |
-10.0 |
10.0 |
0.0 |
-1.0 |
1.0 |
0.0 |
1 |
AccelerationX: \(0.0\texttt{ m/s}^2\)
AccelerationY: \(1.0\texttt{ m/s}^2\)
AccelerationZ: \(-1.0\texttt{ m/s}^2\)
AngularRateX: \(0.0\texttt{ deg/s}\)
AngularRateY: \(10.0\texttt{ deg/s}\)
AngularRateZ: \(-10.0\texttt{ deg/s}\)
The device accelerates by \(1.0\texttt{ m/s}^2\) along the Y axis and by \(-1.0\texttt{ m/s}^2\) along Z. At the same time, the device rotates by \(10.0\texttt{ deg/s}\) around Y axis and \(-10.0\texttt{ deg/s}\) around the Z axis.