Skip to content

adi_imu (imu_ros2)

  • Software
  • Perception
  • Driver or SDK

A ROS2 node that reads data from Analog Devices MEMS inertial measurement units and publishes it on ROS2 topics, while also configuring the devices.

Made by Analog Devices, Inc., United States (checked on github.com/analogdevicesinc (opens in a new tab)).

Source on GitHub: github.com/analogdevicesinc/imu_ros2 (opens in a new tab). Facts read at commit ac8fab0 (opens in a new tab).

Licenses

Code
Apache-2.0 (opens in a new tab)

Read by Robotheca from LICENSE (opens in a new tab) (Apache-2.0) at commit ac8fab0 (opens in a new tab), on 16 Oct 2026.

Commercial use
Yes

What it does

  • Reads acceleration, gyroscope, delta velocity, delta angle and temperature from supported ADIS IMUs and publishes them on several topics.
  • Offers topic modes selected by a parameter, including the standard ROS2 imu message type.
  • Can estimate IMU noise covariance with static, Welford, sliding window, EWMA or Kalman algorithms.
  • Adaptive covariance methods only update while the sensor is stationary, judged by gyro and accelerometer thresholds.
  • Publishes diagnostic and device identification data (product ID, serial number, firmware) on their own topics, each switchable by a parameter.
  • Supports local and remote operation through LibIIO, with the device selected by name and an optional context string.

Written by Robotheca from the project's README (opens in a new tab) at commit ac8fab0.

Getting started

Difficulty
Intermediate
Hardware it needs, as the project states it
A Raspberry Pi 3 or 4 running the adis16475 Linux kernel driver and LibIIO, with an EVAL-ADISIMU1-RPIZ board connecting a supported ADIS IMU; the node can run on the same Pi or on a separate ROS2 Humble client over a network.

Maintenance

Status
Active: a commit in the last 90 days
Newest commit
17 Aug 2026 on humble
Latest release
adi_imu - 1.1.0 (19 Aug 2026)

Checked on GitHub on 16 Oct 2026.

Robots that can run it

No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.

Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.