InertialNav

InertialNav


InertialNav App is a toolbox for inertial navigation. It uses information from sensors (e.g. accelerometer, gyroscope, magnetometer, and GPS), when available, to derive attitude, position and velocity information.
Recent methods are used in InertialNav App to provide reliable and robust attitude estimation. InertialNav App can provide an attitude estimation that is, in average, unbiaised by local accelerations, taking the most from low-grade sensors generally available in handset and tablets.

It includes the following instruments:
✔ artificial horizon / gyro attitude indicator,
✔ altimeter,
✔ 3D compass (gyro, magnetic) that works in every orientations,
✔ speed meter (ground speed, vertical speed),
✔ ground track.
An optimal filter is used to estimate as accurately as possible attitude and position of the device. Bear in mind, though, that phones usually have low-quality sensors.

In addition:
✔ A HUD mode allows using the application for augmented reality.
✔ You can display a Google Map for your position,
✔ You can monitor the sensors in your Android device,
✔ You can store real-time measurements and estimations into GPX file (GPS measures only), text files or, send these measurement over a wifi internal network with UDP, for post-processing (e.g. into MATLAB, SciLab, LabView, ...).
✔ complete set of options allow you to fine tune the apps to your particular needs. If a feature is missing, do not hesitate to ask!


HOW DOES IT WORK?
In real life environment, sensors tend to measure noises in addition to the physical quantity of interest. The current application provides an estimate of the attitude. To have the best estimation of the attitude an data fusion (EKF, UKF) is used. The filter purpose is to reject all perturbations, but to do so efficiently, it needs different sources of measurments. Considering we are interested by the orientation, and your device is indeed an inertial measurement unit (IMU with gyroscopes, accelerometers and so on), using gyroscopes for angular velocity and a set of measurements from accelerometers and magnetometers, InertialNav can indeed estimate the attitude with the filter.
That is, to estimate the attitude, InertialNav will sometimes discard information from the sensors that it deems unreliable or too noisy - it may sometimes favour the attitude measurements rather than the angular velocity integration and vice versa - to minimise the covariance of the error. Furthermore, quaternion formulation for the orientation makes the estimation very robust.
Additionally, if GPS is available, sub-meter positioning can be obtained. That is, this can not work efficiently indoors (drift in position and velocity).

** IMPORTANT ** : depending on your device, please consider going through the covariance settings for best estimation of the attitude! InertialNav may disregard the measurements if deemed unreliable. If YOU THINK the app does not use the gyroscopes, please CHECK the variance settings for the gyroscopes.


OUTPUTS
Data can be saved as a text file on the SD card.
Data can also be send over UDP local wifi network. Data are send as float (4 bytes, Little endian), as following:
[time, Measured Acceleration {X, Y, Z}, Measured Orientation {Pitch, Roll, Yaw}, Magnetic Field {X, Y, Z}, Pitch Estimate, Roll Estimate, Yaw Estimate]


MINIMUM REQUIREMENTS
Minimum requirements: accelerometers, gyroscopes, magnetometers.
Optional requirements: GPS, camera.
- Groundtrack mode will only be available when GPS is enabled,
- HeadUp Display will only be available when a camera is available,
- Multiple panels only available for 7" and above screen size.

The application is provided as-is, without any warranty. The application is not certified for navigation purposes by any agency or organisation. It should not be used as navigation instrument in a plane!

If you find bugs, please report them by email. Thanks!

Recent changes:
Export track data to GPX file.
Upgrade compass with camera view.
Improve fragments management.
Minor bug fixes.

Thanks for reporting bugs. If you find an issue, just send me an email, I'll correct it promptly.
Add to list
$3.43
60
3.0
User ratings
6
Installs
100+
Concerns
1
File size
754 kb
Screenshots
Screenshot of InertialNav Screenshot of InertialNav Screenshot of InertialNav Screenshot of InertialNav Screenshot of InertialNav Screenshot of InertialNav Screenshot of InertialNav Screenshot of InertialNav

About InertialNav
InertialNav App is a toolbox for inertial navigation. It uses information from sensors (e.g. accelerometer, gyroscope, magnetometer, and GPS), when available, to derive attitude, position and velocity information.
Recent methods are used in InertialNav App to provide reliable and robust attitude estimation. InertialNav App can provide an attitude estimation that is, in average, unbiaised by local accelerations, taking the most from low-grade sensors generally available in handset and tablets.

It includes the following instruments:
✔ artificial horizon / gyro attitude indicator,
✔ altimeter,
✔ 3D compass (gyro, magnetic) that works in every orientations,
✔ speed meter (ground speed, vertical speed),
✔ ground track.
An optimal filter is used to estimate as accurately as possible attitude and position of the device. Bear in mind, though, that phones usually have low-quality sensors.

In addition:
✔ A HUD mode allows using the application for augmented reality.
✔ You can display a Google Map for your position,
✔ You can monitor the sensors in your Android device,
✔ You can store real-time measurements and estimations into GPX file (GPS measures only), text files or, send these measurement over a wifi internal network with UDP, for post-processing (e.g. into MATLAB, SciLab, LabView, ...).
✔ complete set of options allow you to fine tune the apps to your particular needs. If a feature is missing, do not hesitate to ask!


HOW DOES IT WORK?
In real life environment, sensors tend to measure noises in addition to the physical quantity of interest. The current application provides an estimate of the attitude. To have the best estimation of the attitude an data fusion (EKF, UKF) is used. The filter purpose is to reject all perturbations, but to do so efficiently, it needs different sources of measurments. Considering we are interested by the orientation, and your device is indeed an inertial measurement unit (IMU with gyroscopes, accelerometers and so on), using gyroscopes for angular velocity and a set of measurements from accelerometers and magnetometers, InertialNav can indeed estimate the attitude with the filter.
That is, to estimate the attitude, InertialNav will sometimes discard information from the sensors that it deems unreliable or too noisy - it may sometimes favour the attitude measurements rather than the angular velocity integration and vice versa - to minimise the covariance of the error. Furthermore, quaternion formulation for the orientation makes the estimation very robust.
Additionally, if GPS is available, sub-meter positioning can be obtained. That is, this can not work efficiently indoors (drift in position and velocity).

** IMPORTANT ** : depending on your device, please consider going through the covariance settings for best estimation of the attitude! InertialNav may disregard the measurements if deemed unreliable. If YOU THINK the app does not use the gyroscopes, please CHECK the variance settings for the gyroscopes.


OUTPUTS
Data can be saved as a text file on the SD card.
Data can also be send over UDP local wifi network. Data are send as float (4 bytes, Little endian), as following:
[time, Measured Acceleration {X, Y, Z}, Measured Orientation {Pitch, Roll, Yaw}, Magnetic Field {X, Y, Z}, Pitch Estimate, Roll Estimate, Yaw Estimate]


MINIMUM REQUIREMENTS
Minimum requirements: accelerometers, gyroscopes, magnetometers.
Optional requirements: GPS, camera.
- Groundtrack mode will only be available when GPS is enabled,
- HeadUp Display will only be available when a camera is available,
- Multiple panels only available for 7" and above screen size.

The application is provided as-is, without any warranty. The application is not certified for navigation purposes by any agency or organisation. It should not be used as navigation instrument in a plane!

If you find bugs, please report them by email. Thanks!

Recent changes:
Export track data to GPX file.
Upgrade compass with camera view.
Improve fragments management.
Minor bug fixes.

Thanks for reporting bugs. If you find an issue, just send me an email, I'll correct it promptly.
User reviews of InertialNav
Write the first review for this app!
Android Market Comments
A Google User
Feb 6, 2014
Title Not sure it is doing what it says. I expected to be able to use it a a nav tool while the GPS is disabled (after getting a position) but the ground track is also turned off. If I leave the GPS turned on and it loses the signal will it still calculate position via other sensors??? Lack of ability to zoom in and out on google map view is very disappointing. Using S4 Galaxy
A Google User
Jan 26, 2014
InertialNav Nice application with good UI. There is a lot of work in the covariance settings and Kalman filters. I was quite disappointed that the text output does not seem to work, and this was the main reason I bought the app. Toggling between GPX and MatLab seems to always give GPX output. I sent a email reporting the bug last week, but so far have had no response.
A Google User
May 20, 2013
Samsung Galaxy Note 2