Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/CCNYRoboticsLab/imu_tools
ROS tools for IMU devices
https://github.com/CCNYRoboticsLab/imu_tools
Last synced: 2 months ago
JSON representation
ROS tools for IMU devices
- Host: GitHub
- URL: https://github.com/CCNYRoboticsLab/imu_tools
- Owner: CCNYRoboticsLab
- License: other
- Created: 2012-06-19T02:51:22.000Z (over 12 years ago)
- Default Branch: noetic
- Last Pushed: 2024-07-09T13:01:29.000Z (6 months ago)
- Last Synced: 2024-08-13T00:22:48.825Z (5 months ago)
- Language: C++
- Size: 3.39 MB
- Stars: 892
- Watchers: 35
- Forks: 424
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ros-tools - imu_tools - IMU-related filters and visualizers including Madgwick filter, Complementary filter and rviz IMU plugin for visualizing `sensor_msgs::Imu` messages. ![imu_tools](https://img.shields.io/github/stars/ccny-ros-pkg/imu_tools.svg?style=flat&label=Star&maxAge=86400) (Hardware / Sensors)
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
[1]: https://www.x-io.co.uk/open-source-imu-and-ahrs-algorithms/
[2]: https://www.mdpi.com/1424-8220/15/8/19302
Installing
----------### From binaries
This repo has been released into all current ROS1 and ROS2 distros. To install,
simply:sudo apt-get install ros--imu-tools
### From source (ROS1)
[Create a catkin workspace](https://wiki.ros.org/catkin/Tutorials/create_a_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 https://github.com/CCNYRoboticsLab/imu_tools.git
Install any dependencies using [rosdep](https://www.ros.org/wiki/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](https://docs.ros.org/en/rolling/Tutorials/Workspace/Creating-A-Workspace.html)
documentation, but instead of cloning the sample repo, clone the proper branch
of this repo instead:git clone -b https://github.com/CCNYRoboticsLab/imu_tools.git
More info
---------All nodes, topics and parameters are documented on [this repo's ROS wiki
page](https://wiki.ros.org/imu_tools).pre-commit formatting checks
----------------------------This repo has a [pre-commit](https://pre-commit.com/) 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:```bash
pip3 install --user pre-commit
```To run over all the files in the repo manually:
```bash
pre-commit run -a
```To run pre-commit automatically before committing in the local repo, install the git hooks:
```bash
pre-commit install
```License
-------* `imu_filter_madgwick`: currently licensed as GPL, following the original implementation
* `imu_complementary_filter`: BSD
* `rviz_imu_plugin`: BSD