Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/j1elo/ironahrs
A custom Attitude and Heading Reference System (AHRS) built on a SOC Robotics IMU6410 development board
https://github.com/j1elo/ironahrs
Last synced: about 1 month ago
JSON representation
A custom Attitude and Heading Reference System (AHRS) built on a SOC Robotics IMU6410 development board
- Host: GitHub
- URL: https://github.com/j1elo/ironahrs
- Owner: j1elo
- License: apache-2.0
- Created: 2014-08-14T00:05:02.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2021-07-17T19:52:03.000Z (over 3 years ago)
- Last Synced: 2024-10-16T11:25:02.157Z (3 months ago)
- Language: C
- Homepage:
- Size: 3.75 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
IronAHRS
========An **Attitude and Heading Reference System** (*AHRS*) built on top of a `SOC Robotics IMU6410` board and powered by an `Atmel ATmega1284P` 8-bit AVR RISC-based microcontroller.
This was a small step on our personal *Virtual Reality head-mounted display* technology project. It allowed us to simulate a gameplay in which the device would follow any movement made by the player's head. See it in action! (**[click for a video](http://www.youtube.com/watch?v=CbZY3lHCA_A)**):
This project serves as an integration and test bench for different *IMU* and *AHRS* algorithms. Currently, the incorporated implementation of signal filtering is the one made by Sparkfun for their `9DOF Razor IMU` board: the [Razor AHRS firmware](https://github.com/ptrbrtz/razor-9dof-ahrs).
Other algorithms which could be integrated in the future includes the implementation from Android, the sensor fusion algorithm [made by Sebastian Madgwick](http://www.x-io.co.uk/open-source-imu-and-ahrs-algorithms/), and the [FreeIMU implementation](http://www.varesano.net/topic/freeimu).
Folder structure:
- `src/avr` includes all the source code for the firmware which will be loaded on the board's microcontroller.
- `src/avr/board` contains a modularized skeleton of code used to handle the most common functionalities of the Atmel AVR uC used for the project: board initialization, access to the EEPROM, SPI channels, Serial Port communication and time measurement functions.
- `src/razor` contains the implementation of the different AHRS filtering algorithms. This code is shared between the board C code and the application C++ code.
- `src/win` contains the desktop application which serves as a test bench for the sensor board. This application can receive the sensor inputs in a variety of ways, either in RAW form (from the sensors output) or in calculated AHRS positions, and store them for further processing.