Repository Summary

Checkout URI https://github.com/CCNYRoboticsLab/imu_tools.git
VCS Type git
VCS Version humble
Last Updated 2026-05-04
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

README

IMU tools for ROS

Overview

IMU-related filters and visualizers. The repository contains:

  • imu_filter_madgwick: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation. Based on the work of 1.

  • imu_complementary_filter: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation quaternion using a novel approach based on a complementary fusion. Based on the work of 2.

  • rviz_imu_plugin a plugin for rviz which displays sensor_msgs::Imu messages

Installing

From binaries

This repo has been released into all current ROS1 and ROS2 distros. To install, simply:

sudo apt-get install ros-<YOUR_ROSDISTO>-imu-tools

From source (ROS1)

Create a catkin workspace (e.g., ~/catkin_ws/) and source the devel/setup.bash file.

Make sure you have git installed:

sudo apt-get install git

Clone this repository into your catkin workspace (e.g., ~/catin_ws/src; use the proper branch for your distro, e.g., melodic, noetic, …):

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

Install any dependencies using rosdep.

rosdep install imu_tools

Compile the stack:

cd ~/catkin_ws
catkin_make

From source (ROS2)

Follow the steps from the ROS2 Creating a workspace documentation, but instead of cloning the sample repo, clone the proper branch of this repo instead:

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

More info

All nodes, topics and parameters are documented on this repo’s ROS wiki page.

What’s next after filtering your IMU?

Once you have a filtered orientation from imu_filter_madgwick or imu_complementary_filter, a common next step is fusing it with wheel odometry (and optionally GPS) to produce a full odom -> base_link state estimate. Two ROS 2 packages that do this:

  • robot_localization: well-established EKF/UKF state estimator, widely used across the ROS ecosystem.

  • FusionCore: UKF with online gyro bias estimation (yaw drift compounds slower over long runs), native GPS fusion for outdoor robots, and a numerically stable filter that handles aggressive maneuvers without diverging. Available on apt for Jazzy and Humble (ros-jazzy-fusioncore).

Both take a filtered IMU topic as input.

pre-commit formatting checks

This repo has a pre-commit check that runs in CI. You can use this locally and set it up to run automatically before you commit something. To install, use apt:

File truncated at 100 lines see the full file

Repository Summary

Checkout URI https://github.com/CCNYRoboticsLab/imu_tools.git
VCS Type git
VCS Version jazzy
Last Updated 2026-05-04
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

README

IMU tools for ROS

Overview

IMU-related filters and visualizers. The repository contains:

  • imu_filter_madgwick: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation. Based on the work of 1.

  • imu_complementary_filter: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation quaternion using a novel approach based on a complementary fusion. Based on the work of 2.

  • rviz_imu_plugin a plugin for rviz which displays sensor_msgs::Imu messages

Installing

From binaries

This repo has been released into all current ROS1 and ROS2 distros. To install, simply:

sudo apt-get install ros-<YOUR_ROSDISTO>-imu-tools

From source (ROS1)

Create a catkin workspace (e.g., ~/catkin_ws/) and source the devel/setup.bash file.

Make sure you have git installed:

sudo apt-get install git

Clone this repository into your catkin workspace (e.g., ~/catin_ws/src; use the proper branch for your distro, e.g., melodic, noetic, …):

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

Install any dependencies using rosdep.

rosdep install imu_tools

Compile the stack:

cd ~/catkin_ws
catkin_make

From source (ROS2)

Follow the steps from the ROS2 Creating a workspace documentation, but instead of cloning the sample repo, clone the proper branch of this repo instead:

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

More info

All nodes, topics and parameters are documented on this repo’s ROS wiki page.

What’s next after filtering your IMU?

Once you have a filtered orientation from imu_filter_madgwick or imu_complementary_filter, a common next step is fusing it with wheel odometry (and optionally GPS) to produce a full odom -> base_link state estimate. Two ROS 2 packages that do this:

  • robot_localization: well-established EKF/UKF state estimator, widely used across the ROS ecosystem.

  • FusionCore: UKF with online gyro bias estimation (yaw drift compounds slower over long runs), native GPS fusion for outdoor robots, and a numerically stable filter that handles aggressive maneuvers without diverging. Available on apt for Jazzy and Humble (ros-jazzy-fusioncore).

Both take a filtered IMU topic as input.

pre-commit formatting checks

This repo has a pre-commit check that runs in CI. You can use this locally and set it up to run automatically before you commit something. To install, use apt:

File truncated at 100 lines see the full file

Repository Summary

Checkout URI https://github.com/CCNYRoboticsLab/imu_tools.git
VCS Type git
VCS Version kilted
Last Updated 2025-05-15
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

README

IMU tools for ROS

Overview

IMU-related filters and visualizers. The repository contains:

  • imu_filter_madgwick: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation. Based on the work of 1.

  • imu_complementary_filter: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation quaternion using a novel approach based on a complementary fusion. Based on the work of 2.

  • rviz_imu_plugin a plugin for rviz which displays sensor_msgs::Imu messages

Installing

From binaries

This repo has been released into all current ROS1 and ROS2 distros. To install, simply:

sudo apt-get install ros-<YOUR_ROSDISTO>-imu-tools

From source (ROS1)

Create a catkin workspace (e.g., ~/catkin_ws/) and source the devel/setup.bash file.

Make sure you have git installed:

sudo apt-get install git

Clone this repository into your catkin workspace (e.g., ~/catin_ws/src; use the proper branch for your distro, e.g., melodic, noetic, …):

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

Install any dependencies using rosdep.

rosdep install imu_tools

Compile the stack:

cd ~/catkin_ws
catkin_make

From source (ROS2)

Follow the steps from the ROS2 Creating a workspace documentation, but instead of cloning the sample repo, clone the proper branch of this repo instead:

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

More info

All nodes, topics and parameters are documented on this repo’s ROS wiki page.

pre-commit formatting checks

This repo has a pre-commit check that runs in CI. You can use this locally and set it up to run automatically before you commit something. To install, use apt:

sudo apt install pre-commit

To run over all the files in the repo manually:

pre-commit run -a

To run pre-commit automatically before committing in the local repo, install the git hooks:

pre-commit install

License

File truncated at 100 lines see the full file

Repository Summary

Checkout URI https://github.com/CCNYRoboticsLab/imu_tools.git
VCS Type git
VCS Version rolling
Last Updated 2026-05-04
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

README

IMU tools for ROS

Overview

IMU-related filters and visualizers. The repository contains:

  • imu_filter_madgwick: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation. Based on the work of 1.

  • imu_complementary_filter: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation quaternion using a novel approach based on a complementary fusion. Based on the work of 2.

  • rviz_imu_plugin a plugin for rviz which displays sensor_msgs::Imu messages

Installing

From binaries

This repo has been released into all current ROS1 and ROS2 distros. To install, simply:

sudo apt-get install ros-<YOUR_ROSDISTO>-imu-tools

From source (ROS1)

Create a catkin workspace (e.g., ~/catkin_ws/) and source the devel/setup.bash file.

Make sure you have git installed:

sudo apt-get install git

Clone this repository into your catkin workspace (e.g., ~/catin_ws/src; use the proper branch for your distro, e.g., melodic, noetic, …):

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

Install any dependencies using rosdep.

rosdep install imu_tools

Compile the stack:

cd ~/catkin_ws
catkin_make

From source (ROS2)

Follow the steps from the ROS2 Creating a workspace documentation, but instead of cloning the sample repo, clone the proper branch of this repo instead:

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

More info

All nodes, topics and parameters are documented on this repo’s ROS wiki page.

What’s next after filtering your IMU?

Once you have a filtered orientation from imu_filter_madgwick or imu_complementary_filter, a common next step is fusing it with wheel odometry (and optionally GPS) to produce a full odom -> base_link state estimate. Two ROS 2 packages that do this:

  • robot_localization: well-established EKF/UKF state estimator, widely used across the ROS ecosystem.

  • FusionCore: UKF with online gyro bias estimation (yaw drift compounds slower over long runs), native GPS fusion for outdoor robots, and a numerically stable filter that handles aggressive maneuvers without diverging. Available on apt for Jazzy and Humble (ros-jazzy-fusioncore).

Both take a filtered IMU topic as input.

pre-commit formatting checks

This repo has a pre-commit check that runs in CI. You can use this locally and set it up to run automatically before you commit something. To install, use apt:

File truncated at 100 lines see the full file

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/CCNYRoboticsLab/imu_tools.git
VCS Type git
VCS Version humble
Last Updated 2026-05-04
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

README

IMU tools for ROS

Overview

IMU-related filters and visualizers. The repository contains:

  • imu_filter_madgwick: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation. Based on the work of 1.

  • imu_complementary_filter: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation quaternion using a novel approach based on a complementary fusion. Based on the work of 2.

  • rviz_imu_plugin a plugin for rviz which displays sensor_msgs::Imu messages

Installing

From binaries

This repo has been released into all current ROS1 and ROS2 distros. To install, simply:

sudo apt-get install ros-<YOUR_ROSDISTO>-imu-tools

From source (ROS1)

Create a catkin workspace (e.g., ~/catkin_ws/) and source the devel/setup.bash file.

Make sure you have git installed:

sudo apt-get install git

Clone this repository into your catkin workspace (e.g., ~/catin_ws/src; use the proper branch for your distro, e.g., melodic, noetic, …):

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

Install any dependencies using rosdep.

rosdep install imu_tools

Compile the stack:

cd ~/catkin_ws
catkin_make

From source (ROS2)

Follow the steps from the ROS2 Creating a workspace documentation, but instead of cloning the sample repo, clone the proper branch of this repo instead:

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

More info

All nodes, topics and parameters are documented on this repo’s ROS wiki page.

What’s next after filtering your IMU?

Once you have a filtered orientation from imu_filter_madgwick or imu_complementary_filter, a common next step is fusing it with wheel odometry (and optionally GPS) to produce a full odom -> base_link state estimate. Two ROS 2 packages that do this:

  • robot_localization: well-established EKF/UKF state estimator, widely used across the ROS ecosystem.

  • FusionCore: UKF with online gyro bias estimation (yaw drift compounds slower over long runs), native GPS fusion for outdoor robots, and a numerically stable filter that handles aggressive maneuvers without diverging. Available on apt for Jazzy and Humble (ros-jazzy-fusioncore).

Both take a filtered IMU topic as input.

pre-commit formatting checks

This repo has a pre-commit check that runs in CI. You can use this locally and set it up to run automatically before you commit something. To install, use apt:

File truncated at 100 lines see the full file

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/CCNYRoboticsLab/imu_tools.git
VCS Type git
VCS Version humble
Last Updated 2026-05-04
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

README

IMU tools for ROS

Overview

IMU-related filters and visualizers. The repository contains:

  • imu_filter_madgwick: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation. Based on the work of 1.

  • imu_complementary_filter: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation quaternion using a novel approach based on a complementary fusion. Based on the work of 2.

  • rviz_imu_plugin a plugin for rviz which displays sensor_msgs::Imu messages

Installing

From binaries

This repo has been released into all current ROS1 and ROS2 distros. To install, simply:

sudo apt-get install ros-<YOUR_ROSDISTO>-imu-tools

From source (ROS1)

Create a catkin workspace (e.g., ~/catkin_ws/) and source the devel/setup.bash file.

Make sure you have git installed:

sudo apt-get install git

Clone this repository into your catkin workspace (e.g., ~/catin_ws/src; use the proper branch for your distro, e.g., melodic, noetic, …):

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

Install any dependencies using rosdep.

rosdep install imu_tools

Compile the stack:

cd ~/catkin_ws
catkin_make

From source (ROS2)

Follow the steps from the ROS2 Creating a workspace documentation, but instead of cloning the sample repo, clone the proper branch of this repo instead:

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

More info

All nodes, topics and parameters are documented on this repo’s ROS wiki page.

What’s next after filtering your IMU?

Once you have a filtered orientation from imu_filter_madgwick or imu_complementary_filter, a common next step is fusing it with wheel odometry (and optionally GPS) to produce a full odom -> base_link state estimate. Two ROS 2 packages that do this:

  • robot_localization: well-established EKF/UKF state estimator, widely used across the ROS ecosystem.

  • FusionCore: UKF with online gyro bias estimation (yaw drift compounds slower over long runs), native GPS fusion for outdoor robots, and a numerically stable filter that handles aggressive maneuvers without diverging. Available on apt for Jazzy and Humble (ros-jazzy-fusioncore).

Both take a filtered IMU topic as input.

pre-commit formatting checks

This repo has a pre-commit check that runs in CI. You can use this locally and set it up to run automatically before you commit something. To install, use apt:

File truncated at 100 lines see the full file

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/CCNYRoboticsLab/imu_tools.git
VCS Type git
VCS Version humble
Last Updated 2026-05-04
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

README

IMU tools for ROS

Overview

IMU-related filters and visualizers. The repository contains:

  • imu_filter_madgwick: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation. Based on the work of 1.

  • imu_complementary_filter: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation quaternion using a novel approach based on a complementary fusion. Based on the work of 2.

  • rviz_imu_plugin a plugin for rviz which displays sensor_msgs::Imu messages

Installing

From binaries

This repo has been released into all current ROS1 and ROS2 distros. To install, simply:

sudo apt-get install ros-<YOUR_ROSDISTO>-imu-tools

From source (ROS1)

Create a catkin workspace (e.g., ~/catkin_ws/) and source the devel/setup.bash file.

Make sure you have git installed:

sudo apt-get install git

Clone this repository into your catkin workspace (e.g., ~/catin_ws/src; use the proper branch for your distro, e.g., melodic, noetic, …):

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

Install any dependencies using rosdep.

rosdep install imu_tools

Compile the stack:

cd ~/catkin_ws
catkin_make

From source (ROS2)

Follow the steps from the ROS2 Creating a workspace documentation, but instead of cloning the sample repo, clone the proper branch of this repo instead:

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

More info

All nodes, topics and parameters are documented on this repo’s ROS wiki page.

What’s next after filtering your IMU?

Once you have a filtered orientation from imu_filter_madgwick or imu_complementary_filter, a common next step is fusing it with wheel odometry (and optionally GPS) to produce a full odom -> base_link state estimate. Two ROS 2 packages that do this:

  • robot_localization: well-established EKF/UKF state estimator, widely used across the ROS ecosystem.

  • FusionCore: UKF with online gyro bias estimation (yaw drift compounds slower over long runs), native GPS fusion for outdoor robots, and a numerically stable filter that handles aggressive maneuvers without diverging. Available on apt for Jazzy and Humble (ros-jazzy-fusioncore).

Both take a filtered IMU topic as input.

pre-commit formatting checks

This repo has a pre-commit check that runs in CI. You can use this locally and set it up to run automatically before you commit something. To install, use apt:

File truncated at 100 lines see the full file

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/CCNYRoboticsLab/imu_tools.git
VCS Type git
VCS Version humble
Last Updated 2026-05-04
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

README

IMU tools for ROS

Overview

IMU-related filters and visualizers. The repository contains:

  • imu_filter_madgwick: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation. Based on the work of 1.

  • imu_complementary_filter: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation quaternion using a novel approach based on a complementary fusion. Based on the work of 2.

  • rviz_imu_plugin a plugin for rviz which displays sensor_msgs::Imu messages

Installing

From binaries

This repo has been released into all current ROS1 and ROS2 distros. To install, simply:

sudo apt-get install ros-<YOUR_ROSDISTO>-imu-tools

From source (ROS1)

Create a catkin workspace (e.g., ~/catkin_ws/) and source the devel/setup.bash file.

Make sure you have git installed:

sudo apt-get install git

Clone this repository into your catkin workspace (e.g., ~/catin_ws/src; use the proper branch for your distro, e.g., melodic, noetic, …):

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

Install any dependencies using rosdep.

rosdep install imu_tools

Compile the stack:

cd ~/catkin_ws
catkin_make

From source (ROS2)

Follow the steps from the ROS2 Creating a workspace documentation, but instead of cloning the sample repo, clone the proper branch of this repo instead:

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

More info

All nodes, topics and parameters are documented on this repo’s ROS wiki page.

What’s next after filtering your IMU?

Once you have a filtered orientation from imu_filter_madgwick or imu_complementary_filter, a common next step is fusing it with wheel odometry (and optionally GPS) to produce a full odom -> base_link state estimate. Two ROS 2 packages that do this:

  • robot_localization: well-established EKF/UKF state estimator, widely used across the ROS ecosystem.

  • FusionCore: UKF with online gyro bias estimation (yaw drift compounds slower over long runs), native GPS fusion for outdoor robots, and a numerically stable filter that handles aggressive maneuvers without diverging. Available on apt for Jazzy and Humble (ros-jazzy-fusioncore).

Both take a filtered IMU topic as input.

pre-commit formatting checks

This repo has a pre-commit check that runs in CI. You can use this locally and set it up to run automatically before you commit something. To install, use apt:

File truncated at 100 lines see the full file

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/CCNYRoboticsLab/imu_tools.git
VCS Type git
VCS Version humble
Last Updated 2026-05-04
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

README

IMU tools for ROS

Overview

IMU-related filters and visualizers. The repository contains:

  • imu_filter_madgwick: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation. Based on the work of 1.

  • imu_complementary_filter: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation quaternion using a novel approach based on a complementary fusion. Based on the work of 2.

  • rviz_imu_plugin a plugin for rviz which displays sensor_msgs::Imu messages

Installing

From binaries

This repo has been released into all current ROS1 and ROS2 distros. To install, simply:

sudo apt-get install ros-<YOUR_ROSDISTO>-imu-tools

From source (ROS1)

Create a catkin workspace (e.g., ~/catkin_ws/) and source the devel/setup.bash file.

Make sure you have git installed:

sudo apt-get install git

Clone this repository into your catkin workspace (e.g., ~/catin_ws/src; use the proper branch for your distro, e.g., melodic, noetic, …):

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

Install any dependencies using rosdep.

rosdep install imu_tools

Compile the stack:

cd ~/catkin_ws
catkin_make

From source (ROS2)

Follow the steps from the ROS2 Creating a workspace documentation, but instead of cloning the sample repo, clone the proper branch of this repo instead:

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

More info

All nodes, topics and parameters are documented on this repo’s ROS wiki page.

What’s next after filtering your IMU?

Once you have a filtered orientation from imu_filter_madgwick or imu_complementary_filter, a common next step is fusing it with wheel odometry (and optionally GPS) to produce a full odom -> base_link state estimate. Two ROS 2 packages that do this:

  • robot_localization: well-established EKF/UKF state estimator, widely used across the ROS ecosystem.

  • FusionCore: UKF with online gyro bias estimation (yaw drift compounds slower over long runs), native GPS fusion for outdoor robots, and a numerically stable filter that handles aggressive maneuvers without diverging. Available on apt for Jazzy and Humble (ros-jazzy-fusioncore).

Both take a filtered IMU topic as input.

pre-commit formatting checks

This repo has a pre-commit check that runs in CI. You can use this locally and set it up to run automatically before you commit something. To install, use apt:

File truncated at 100 lines see the full file

Repository Summary

Checkout URI https://github.com/CCNYRoboticsLab/imu_tools.git
VCS Type git
VCS Version galactic
Last Updated 2022-07-14
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

README

IMU tools for ROS

Overview

IMU-related filters and visualizers. The repository contains:

  • imu_filter_madgwick: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation. Based on the work of 1.

  • imu_complementary_filter: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation quaternion using a novel approach based on a complementary fusion. Based on the work of 2.

  • rviz_imu_plugin a plugin for rviz which displays sensor_msgs::Imu messages

Installing

From binaries

This repo has been released into all current ROS1 and ROS2 distros. To install, simply:

sudo apt-get install ros-<YOUR_ROSDISTO>-imu-tools

From source (ROS1)

Create a catkin workspace (e.g., ~/catkin_ws/) and source the devel/setup.bash file.

Make sure you have git installed:

sudo apt-get install git

Clone this repository into your catkin workspace (e.g., ~/catin_ws/src; use the proper branch for your distro, e.g., melodic, noetic, …):

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

Install any dependencies using rosdep.

rosdep install imu_tools

Compile the stack:

cd ~/catkin_ws
catkin_make

From source (ROS2)

Follow the steps from the ROS2 Creating a workspace documentation, but instead of cloning the sample repo, clone the proper branch of this repo instead:

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

More info

All nodes, topics and parameters are documented on this repo’s ROS wiki page.

pre-commit formatting checks

This repo has a pre-commit check that runs in CI. You can use this locally and set it up to run automatically before you commit something. To install, use pip:

pip3 install --user pre-commit

To run over all the files in the repo manually:

pre-commit run -a

To run pre-commit automatically before committing in the local repo, install the git hooks:

pre-commit install

License

File truncated at 100 lines see the full file

Repository Summary

Checkout URI https://github.com/CCNYRoboticsLab/imu_tools.git
VCS Type git
VCS Version foxy
Last Updated 2022-07-14
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

README

IMU tools for ROS

Overview

IMU-related filters and visualizers. The repository contains:

  • imu_filter_madgwick: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation. Based on the work of 1.

  • imu_complementary_filter: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation quaternion using a novel approach based on a complementary fusion. Based on the work of 2.

  • rviz_imu_plugin a plugin for rviz which displays sensor_msgs::Imu messages

Installing

From binaries

This repo has been released into all current ROS1 and ROS2 distros. To install, simply:

sudo apt-get install ros-<YOUR_ROSDISTO>-imu-tools

From source (ROS1)

Create a catkin workspace (e.g., ~/catkin_ws/) and source the devel/setup.bash file.

Make sure you have git installed:

sudo apt-get install git

Clone this repository into your catkin workspace (e.g., ~/catin_ws/src; use the proper branch for your distro, e.g., melodic, noetic, …):

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

Install any dependencies using rosdep.

rosdep install imu_tools

Compile the stack:

cd ~/catkin_ws
catkin_make

From source (ROS2)

Follow the steps from the ROS2 Creating a workspace documentation, but instead of cloning the sample repo, clone the proper branch of this repo instead:

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

More info

All nodes, topics and parameters are documented on this repo’s ROS wiki page.

pre-commit formatting checks

This repo has a pre-commit check that runs in CI. You can use this locally and set it up to run automatically before you commit something. To install, use pip:

pip3 install --user pre-commit

To run over all the files in the repo manually:

pre-commit run -a

To run pre-commit automatically before committing in the local repo, install the git hooks:

pre-commit install

License

File truncated at 100 lines see the full file

Repository Summary

Checkout URI https://github.com/CCNYRoboticsLab/imu_tools.git
VCS Type git
VCS Version iron
Last Updated 2024-10-01
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

README

IMU tools for ROS

Overview

IMU-related filters and visualizers. The repository contains:

  • imu_filter_madgwick: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation. Based on the work of 1.

  • imu_complementary_filter: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation quaternion using a novel approach based on a complementary fusion. Based on the work of 2.

  • rviz_imu_plugin a plugin for rviz which displays sensor_msgs::Imu messages

Installing

From binaries

This repo has been released into all current ROS1 and ROS2 distros. To install, simply:

sudo apt-get install ros-<YOUR_ROSDISTO>-imu-tools

From source (ROS1)

Create a catkin workspace (e.g., ~/catkin_ws/) and source the devel/setup.bash file.

Make sure you have git installed:

sudo apt-get install git

Clone this repository into your catkin workspace (e.g., ~/catin_ws/src; use the proper branch for your distro, e.g., melodic, noetic, …):

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

Install any dependencies using rosdep.

rosdep install imu_tools

Compile the stack:

cd ~/catkin_ws
catkin_make

From source (ROS2)

Follow the steps from the ROS2 Creating a workspace documentation, but instead of cloning the sample repo, clone the proper branch of this repo instead:

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

More info

All nodes, topics and parameters are documented on this repo’s ROS wiki page.

pre-commit formatting checks

This repo has a pre-commit check that runs in CI. You can use this locally and set it up to run automatically before you commit something. To install, use apt:

sudo apt install pre-commit

To run over all the files in the repo manually:

pre-commit run -a

To run pre-commit automatically before committing in the local repo, install the git hooks:

pre-commit install

License

File truncated at 100 lines see the full file

Repository Summary

Checkout URI https://github.com/ccny-ros-pkg/imu_tools.git
VCS Type git
VCS Version lunar
Last Updated 2019-05-06
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

README

IMU tools for ROS

Overview

IMU-related filters and visualizers. The stack contains:

  • imu_filter_madgwick: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation. Based on the work of [1].

  • imu_complementary_filter: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation quaternion using a novel approach based on a complementary fusion. Based on the work of [2].

  • rviz_imu_plugin a plugin for rviz which displays sensor_msgs::Imu messages

Installing

From source

Create a catkin workspace (e.g., ~/ros-hydro-ws/) and source the devel/setup.bash file.

Make sure you have git installed:

sudo apt-get install git-core

Download the stack from our repository into your catkin workspace (e.g., ros-hydro-ws/src; use the proper branch for your distro, e.g., groovy, hydro…):

git clone -b <distro> https://github.com/ccny-ros-pkg/imu_tools.git

Install any dependencies using rosdep.

rosdep install imu_tools

Compile the stack:

cd ~/ros-hydro-ws
catkin_make

More info

http://wiki.ros.org/imu_tools

License

  • imu_filter_madgwick: currently licensed as GPL, following the original implementation

  • imu_complementary_filter: BSD

  • rviz_imu_plugin: BSD

References

[1] http://www.x-io.co.uk/open-source-imu-and-ahrs-algorithms/

[2] http://www.mdpi.com/1424-8220/15/8/19302

Repository Summary

Checkout URI https://github.com/ccny-ros-pkg/imu_tools.git
VCS Type git
VCS Version jade
Last Updated 2017-05-22
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

README

IMU tools for ROS

Overview

IMU-related filters and visualizers. The stack contains:

  • imu_filter_madgwick: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation. Based on the work of [1].

  • imu_complementary_filter: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation quaternion using a novel approach based on a complementary fusion. Based on the work of [2].

  • rviz_imu_plugin a plugin for rviz which displays sensor_msgs::Imu messages

Installing

From source

Create a catkin workspace (e.g., ~/ros-hydro-ws/) and source the devel/setup.bash file.

Make sure you have git installed:

sudo apt-get install git-core

Download the stack from our repository into your catkin workspace (e.g., ros-hydro-ws/src; use the proper branch for your distro, e.g., groovy, hydro…):

git clone -b <distro> https://github.com/ccny-ros-pkg/imu_tools.git

Install any dependencies using rosdep.

rosdep install imu_tools

Compile the stack:

cd ~/ros-hydro-ws
catkin_make

More info

http://wiki.ros.org/imu_tools

License

  • imu_filter_madgwick: currently licensed as GPL, following the original implementation

  • imu_complementary_filter: BSD

  • rviz_imu_plugin: BSD

References

[1] http://www.x-io.co.uk/open-source-imu-and-ahrs-algorithms/

[2] http://www.mdpi.com/1424-8220/15/8/19302

Repository Summary

Checkout URI https://github.com/ccny-ros-pkg/imu_tools.git
VCS Type git
VCS Version indigo
Last Updated 2017-05-22
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
imu_complementary_filter 1.0.15
imu_filter_madgwick 1.0.15
imu_tools 1.0.15
rviz_imu_plugin 1.0.15

README

IMU tools for ROS

Overview

IMU-related filters and visualizers. The stack contains:

  • imu_filter_madgwick: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation. Based on the work of [1].

  • imu_complementary_filter: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation quaternion using a novel approach based on a complementary fusion. Based on the work of [2].

  • rviz_imu_plugin a plugin for rviz which displays sensor_msgs::Imu messages

Installing

From source

Create a catkin workspace (e.g., ~/ros-hydro-ws/) and source the devel/setup.bash file.

Make sure you have git installed:

sudo apt-get install git-core

Download the stack from our repository into your catkin workspace (e.g., ros-hydro-ws/src; use the proper branch for your distro, e.g., groovy, hydro…):

git clone -b <distro> https://github.com/ccny-ros-pkg/imu_tools.git

Install any dependencies using rosdep.

rosdep install imu_tools

Compile the stack:

cd ~/ros-hydro-ws
catkin_make

More info

http://wiki.ros.org/imu_tools

License

  • imu_filter_madgwick: currently licensed as GPL, following the original implementation

  • imu_complementary_filter: BSD

  • rviz_imu_plugin: BSD

References

[1] http://www.x-io.co.uk/open-source-imu-and-ahrs-algorithms/

[2] http://www.mdpi.com/1424-8220/15/8/19302

Repository Summary

Checkout URI https://github.com/ccny-ros-pkg/imu_tools.git
VCS Type git
VCS Version hydro
Last Updated 2015-09-25
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
imu_filter_madgwick 1.0.5
imu_tools 1.0.5
rviz_imu_plugin 1.0.5

README

IMU tools for ROS

Overview

IMU-related filters and visualizers. The stack contains:

  • imu_filter_madgwick: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation. Based on the work of [1].

  • rviz_imu_plugin a plugin for rviz which displays sensor_msgs::Imu messages

Installing

From source

Create a catkin workspace (e.g., ~/ros-hydro-ws/) and source the devel/setup.bash file.

Make sure you have git installed:

sudo apt-get install git-core

Download the stack from our repository into your catkin workspace (e.g., ros-hydro-ws/src; use the proper branch for your distro, e.g., groovy, hydro…):

git clone -b <distro> https://github.com/ccny-ros-pkg/imu_tools.git

Install any dependencies using rosdep.

rosdep install imu_tools

Compile the stack:

cd ~/ros-hydro-ws
catkin_make

More info

http://wiki.ros.org/imu_tools

License

  • imu_filter_madgwick: currently licensed as GPL, following the original implementation

  • rviz_imu_plugin: BSD

References

[1] http://www.x-io.co.uk/open-source-imu-and-ahrs-algorithms/

Repository Summary

Checkout URI https://github.com/ccny-ros-pkg/imu_tools.git
VCS Type git
VCS Version kinetic
Last Updated 2021-04-14
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

README

IMU tools for ROS

Overview

IMU-related filters and visualizers. The stack contains:

  • imu_filter_madgwick: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation. Based on the work of [1].

  • imu_complementary_filter: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation quaternion using a novel approach based on a complementary fusion. Based on the work of [2].

  • rviz_imu_plugin a plugin for rviz which displays sensor_msgs::Imu messages

Installing

From source

Create a catkin workspace (e.g., ~/ros-hydro-ws/) and source the devel/setup.bash file.

Make sure you have git installed:

sudo apt-get install git-core

Download the stack from our repository into your catkin workspace (e.g., ros-hydro-ws/src; use the proper branch for your distro, e.g., groovy, hydro…):

git clone -b <distro> https://github.com/ccny-ros-pkg/imu_tools.git

Install any dependencies using rosdep.

rosdep install imu_tools

Compile the stack:

cd ~/ros-hydro-ws
catkin_make

More info

http://wiki.ros.org/imu_tools

License

  • imu_filter_madgwick: currently licensed as GPL, following the original implementation

  • imu_complementary_filter: BSD

  • rviz_imu_plugin: BSD

References

[1] http://www.x-io.co.uk/open-source-imu-and-ahrs-algorithms/

[2] http://www.mdpi.com/1424-8220/15/8/19302

Repository Summary

Checkout URI https://github.com/CCNYRoboticsLab/imu_tools.git
VCS Type git
VCS Version melodic
Last Updated 2022-08-19
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

README

IMU tools for ROS

Overview

IMU-related filters and visualizers. The repository contains:

  • imu_filter_madgwick: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation. Based on the work of 1.

  • imu_complementary_filter: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation quaternion using a novel approach based on a complementary fusion. Based on the work of 2.

  • rviz_imu_plugin a plugin for rviz which displays sensor_msgs::Imu messages

Installing

From binaries

This repo has been released into all current ROS1 and ROS2 distros. To install, simply:

sudo apt-get install ros-<YOUR_ROSDISTO>-imu-tools

From source (ROS1)

Create a catkin workspace (e.g., ~/catkin_ws/) and source the devel/setup.bash file.

Make sure you have git installed:

sudo apt-get install git

Clone this repository into your catkin workspace (e.g., ~/catin_ws/src; use the proper branch for your distro, e.g., melodic, noetic, …):

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

Install any dependencies using rosdep.

rosdep install imu_tools

Compile the stack:

cd ~/catkin_ws
catkin_make

From source (ROS2)

Follow the steps from the ROS2 Creating a workspace documentation, but instead of cloning the sample repo, clone the proper branch of this repo instead:

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

More info

All nodes, topics and parameters are documented on this repo’s ROS wiki page.

pre-commit formatting checks

This repo has a pre-commit check that runs in CI. You can use this locally and set it up to run automatically before you commit something. To install, use pip:

pip3 install --user pre-commit

To run over all the files in the repo manually:

pre-commit run -a

To run pre-commit automatically before committing in the local repo, install the git hooks:

pre-commit install

License

File truncated at 100 lines see the full file

Repository Summary

Checkout URI https://github.com/CCNYRoboticsLab/imu_tools.git
VCS Type git
VCS Version noetic
Last Updated 2026-02-23
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

README

IMU tools for ROS

Overview

IMU-related filters and visualizers. The repository contains:

  • imu_filter_madgwick: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation. Based on the work of 1.

  • imu_complementary_filter: a filter which fuses angular velocities, accelerations, and (optionally) magnetic readings from a generic IMU device into an orientation quaternion using a novel approach based on a complementary fusion. Based on the work of 2.

  • rviz_imu_plugin a plugin for rviz which displays sensor_msgs::Imu messages

Installing

From binaries

This repo has been released into all current ROS1 and ROS2 distros. To install, simply:

sudo apt-get install ros-<YOUR_ROSDISTO>-imu-tools

From source (ROS1)

Create a catkin workspace (e.g., ~/catkin_ws/) and source the devel/setup.bash file.

Make sure you have git installed:

sudo apt-get install git

Clone this repository into your catkin workspace (e.g., ~/catin_ws/src; use the proper branch for your distro, e.g., melodic, noetic, …):

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

Install any dependencies using rosdep.

rosdep install imu_tools

Compile the stack:

cd ~/catkin_ws
catkin_make

From source (ROS2)

Follow the steps from the ROS2 Creating a workspace documentation, but instead of cloning the sample repo, clone the proper branch of this repo instead:

git clone -b <YOUR_ROSDISTO> https://github.com/CCNYRoboticsLab/imu_tools.git

More info

All nodes, topics and parameters are documented on this repo’s ROS wiki page.

pre-commit formatting checks

This repo has a pre-commit check that runs in CI. You can use this locally and set it up to run automatically before you commit something. To install, use pip:

pip3 install --user pre-commit

To run over all the files in the repo manually:

pre-commit run -a

To run pre-commit automatically before committing in the local repo, install the git hooks:

pre-commit install

License

File truncated at 100 lines see the full file