• Stars
    star
    524
  • Rank 84,541 (Top 2 %)
  • Language
    C++
  • Created over 12 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

ROS tools for IMU devices

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

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

  • imu_complementary_filter: BSD

  • rviz_imu_plugin: BSD