Skip to main content

IMU (Inertial Measurement Unit)

Importance for Balance​

For a humanoid robot, balance is everything. An IMU provides:

  • Orientation: Roll, pitch, yaw (via gyroscope).
  • Acceleration: Linear acceleration (via accelerometer).

Sensor Fusion​

Raw IMU data is noisy and drifts over time. We use Sensor Fusion (e.g., Kalman Filters or Madgwick Filters) to combine IMU data with other sensors (like leg odometry) to get a stable state estimate.

ROS 2 IMU Message​

The standard message is sensor_msgs/Imu.

# Accessing orientation quaternion
orientation = msg.orientation
x, y, z, w = orientation.x, orientation.y, orientation.z, orientation.w

Calibration​

Always calibrate your IMU before use to remove bias.