Skip to content

RodolpheFmd/Inertial-Navigation-System

Repository files navigation

Application of an inertial navigation system from IMU data

The Inertial Navigation System (INS) exploits the information from the Inertial Measurement Unit (IMU) sensors to generate comprehensive and continuous navigational data, providing position awareness without any reliance on external devices.
Numerous instances of terminology misnomers can be found in the literature when comparing IMU and INS as if they were the same.

INS

The IMU provides raw acceleration and rotational data obtained from a set of accelerometers and gyroscopes mounted along orthogonal axes.
In order to provide even more accurate information, redundant sensors are often employed in IMUs. This typically involves the use of multiple accelerometers and gyroscopes (e.g., 12 accelerometers and 12 gyroscopes) to enhance accuracy and reliability.

This GitHub project focuses on the algorithmic part of the INS from pre-existing IMU data. IMU_data.mat

INS

The build of a such system follows the next protocol:

  • List of the constants required for the task.
  • The initial condition of the system (e.g., aircraft):
    - Initial position (lat0, lon0, alt0)
    - Initial orientation (roll, pitch, yaw)
    - Initial velocity (with regards to the NED frame)
  • Define the quaternions that provide a compact and computationally efficient means of handling rotational information.
  • Coordinate system conversion using quternions: - Body / North, East, Down (NED) transition and reverse. - Cartesian / Earth-Centered, Earth-Fixed (ECEF) transition and reverse.
  • From IMU rotational data: - Solve quaternion differential equation. (The equation changes with regards to speed attitude)
    - Calculate the Direction Cosine Matrix (DCM)
    - Calculate Euler angles. (At this stage, we know the vector containing angles of the motion of the object accordingly to NED frame)

Euler_Angles

  • From IMU acceleration data:
    - Conversion of the data from body frame into NED coordinates.
    - Integration for extracting the velocity.
    - Second Integration for extracting the position.
    - Express this position into cartesian frame. (At this stage, we know the object's position in the space) - Re-express the downstream position into ECEF coordinate (Actual latitude, longitude, altitude known)*

By knowing the time interval of the information provided by IMU we can draw the trajectory of the object.

2D_Aircraft_Position_NED_Frame

3D_Aircraft_Position_NED_Frame

Extra

Coase alignment method

INS proposes a convenient advantage to be independent and auto-sufficient for navigational awareness in GPS-denied areas for instance.

However its accuracy can be compromised, INS requires a very good initial calibration. The coase alignment method allows to provide the initial Euler angles for calibrating the INS.
A simple code is provided in the present project.

Releases

No releases published

Packages

No packages published

Languages