Skip to main content

IMUState

Represents IMU linear acceleration, angular velocity, and orientation data.

Properties:

Property

Type

Description

header

Header

IMU metadata header

Read-only properties:

Property

Type

Description

linear_acceleration

np.ndarray

Linear acceleration [x, y, z], unit m/s^2

angular_velocity

np.ndarray

Angular velocity [x, y, z], unit rad/s

orientation

np.ndarray | None

Quaternion [x, y, z, w]

timestamp

float

Timestamp in seconds, equivalent to header.timestamp

frame_id

str

Coordinate frame ID, equivalent to header.frame_id

rpy

np.ndarray | None

Euler angles [roll, pitch, yaw], unit rad; computed from orientation

IMUState​

Signature:

IMUState(
linear_acceleration: np.ndarray,
angular_velocity: np.ndarray,
orientation: np.ndarray | None = None,
header: Header | None = None,
)

Description:

Construct an IMUState instance.

Parameters:

Parameter

Type

Required

Description

linear_acceleration

np.ndarray

Yes

Linear acceleration [x, y, z], unit m/s^2

angular_velocity

np.ndarray

Yes

Angular velocity [x, y, z], unit rad/s

orientation

np.ndarray | None

No

Quaternion [x, y, z, w]; when None, rpy is also None

header

Header | None

No

IMU metadata header; uses default Header when not provided or None

Returns:

IMUState instance.

Raises:

None.

Example:

imu = robot.get_imu()
print(imu.timestamp, imu.frame_id)
# Example output: 1781086228.3448012
print(imu.linear_acceleration)
# Example output: [-0.44691575 0.10313473 9.79927158]
print(imu.rpy)
# Example output: [ 0.01052435 0.04557293 -1.38284385]
to_numpy​

Signature:

IMUState.to_numpy() -> dict[str, np.ndarray]

Description:

Returns a dictionary containing available vectors. linear_acceleration and angular_velocity are always present; when orientation is not empty, orientation and rpy are also included.

Parameters:

No parameters.

Returns:

dict[str, np.ndarray].

Raises:

None.