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: 0 Enable: 1

ID Format output.imu.id_format

ID format of the message

Type Default Options
integer 0

Standard (11-bit): 0 Extended (29-bit): 1

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: 0 Poll: 1


IMU coordinate system

The coordinate system defines the axis used by the IMU sensors.

../../../_images/coordinate_system_imu.svg

The IMU coordinate system (right-handed)


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: 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.


1

The direction of the gravity vector at standstill may seem counter-intuitive (it points up along the z-axis). The measured acceleration is not gravity directly, but rather the acceleration provided by the surface acting on the device - which cancels out the gravity.