Skip to content

An IMU-based Attitude Estimator, implementing the Madgwick filter

License

Notifications You must be signed in to change notification settings

adrian-soch/attitude_check

Repository files navigation

Attitude Check: An IMU-based Attitude Estimator


C/C++ CI codecov

Gif of Attitude Check in action.

This project implements the Madwick attitude estimation algorithm. The focus of this repository is high quality documentation. The repo structure is:

    .
    ├── docs        # Documentation for the project
    ├── examples    # Example usage code for PC and Arduino
    ├── scripts     # Scripts for setup and supporting work
    ├── src         # Source code
    └── test        # Test cases

The recommended order to read the documentation is

graph LR
    E(SRS) --> D
    D(VnV Plan) --> C
    C(MG) --> B
    B(MIS) --> A(VnV Report)
Loading

Install

See INSTALL.md for details on how to install and get started with this project on your own computer.

Usage

Use the provided ./build.sh to build a release version of attitude check.

To clean the build output run ./build.sh clean.

Unit Tests

To build and run unit tests, including code coverage reports run ./build.sh test.

Arduino

The Arduino examples are written for the SparkFun Razor 9dof IMU. However, the usage should be clear for other boards. See the #includes for the libraries you will need to install.

Contributing

See CONTRIBUTING.md for details on how to contribute to this project.

Troubleshooting and Comments

This section will be updated to inform potential users of known issues and common solutions.

Known Issues

  • Arduino doesn't like Real C++ code, other boards may not like using the ArduinoEigen library.