Inertial Navigation System Design Using Inertial Measurement Unit 10 DoF on Diver Propulsion Vehicle

―Navigation system on DPV uses an analog compass to display the direction of the displacement angle of the vehicle through the degree of angle and the cardinal direction. It can’t display other data, such as the orientation angle and dive depth, which are needed to optimize the performance of DPV. INS is used as navigation system, where within the system there are IMU and computer device. INS works with measuring linear acceleration, rotation rate and magnetic field using accelerometer, gyroscope, and magnetometer on IMU. The reading result are processed by computer device using digital low-pass filter, Madgwick quaternion, and Euler angles to obtain angle orientation data in the form of roll, pitch, and yaw angles. The IMU on INS is configured with a pressure sensor that works with measuring hidrostatic pressure to obtain dive depth. Obtained results of orientation angle measurements that has the furthest error value of 3.00 o , with the furthest average error valueof 0.96 o , and the furthest noise value of at steady state of 1.00 o . Results of depth measurement has furthest error value of 2.00 cm, with furthest average error value of 1.30 cm, and furthest noise value at steady state of 0 cm.


I. INTRODUCTION
A Diver Propulsion Vehicle (DPV) is an military equipment used to help person movement when doing the underwater task.Some tasks that can be done by this vehicle are underwater observation, ambush, and patrol [1].
DPV uses an analog compass as navigation system that display angle degree and cardinal direction.However, it can not display other data, such as orientation angle and dive depth, which are needed to optimize the performance of DPV.Thus, an Inertial Navigation System (INS) is used as navigation system that replace the analog compass and also used to dive depth measurment system of DPV.It works with measure the datas around vehicle using accelerometer, gyroscope, magnetometer, and pressure sensor on Inertial Measurement Unit (IMU).The measured data are linear acceleration, rotation speed, and earth magnetic field respectively on 3-axes configured with pressure sensor, resulting 10 DoF (Degree of Freedom) measurement.Using digital low-pass filter equation, Madgwick quaternion, Euler angles, and fluid pressure and depth, the INS can yield orientation angle measurements and dive depth of vehicle that have error and noise values under steady-state conditions.
Through this research, additional indicators can be obtained in the navigation system in the form of angle orientation and depth measurements to improve DPV performance.

A. Diver Propulsion Vehicle
Diver Propulsion Vehicle (DPV) is a vehicle that can perform underwater dives with propeller propulsion.The vehicle is used by underwater divers to increase the range of diving roaming in the water [1].The DPV form can be seen on Figure 1.DPV consists of a waterproof body and pressure where in there is a battery-powered electric motor that drives the propeller.The vehicle is designed to ensure that the propeller does not harm divers, dive equipment, and marine life around.

B. Inertial Navigation System
INS is an independent navigation system that performs a measurement using accelerometer and gyroscope to locate the position and orientation of a relative object based on a known starting point, orientation, and speed.The system consists of IMU and computer devices.In general, the IMU consists of three orthogonal axes accelerometers, three orthogonal axes of gyroscopes, and three orthogonal magnetometer axes.By processing signals from these sensors, it can be possible to locate the position and orientation of an object [2].
On Figure 2, shows an INS block diagram consisting of accelerometer sensor, gyroscopes, magnetometer, and pressure on the IMU to perform data measurement, where the measurement results are sent and processed by a computer device.

C. MPU9250
MPU9250 is a sensor module consisting of accelerometer, gyroscope, magnetometer each 3-axis [3].The shape of the MPU9250 sensor can be seen on Figure 3.
The accelerometer measures the acceleration generated by the gravitational force in gforce (g), where 1 g is equal to 9.8 m / s2.The gyroscope measures angular velocity in degrees per second (dps).The magnetometer measures the strength and direction of the magnetic field in Gauss (G).

D. MS5837
MS5837 is a pressure sensor module that works by measuring pressure and ambient temperature.The result of the temperature measurement is then processed to produce the final pressure value used as the data in the measurement of water pressure by using the hydrostatic pressure equation [4].The shape of the MPU9250 sensor can be seen onFigure

E. Quaternion Filter
Quaternion is a four-dimensional complex number that can be used to display the orientation of a rigid body or the coordinate frame of an object in a three-dimensional space.OnFigure 5, shows a rotation of frame B on frame A that can be obtained through angle θ rotation around Â axis defined within the frame A. Orthogonal vectors  ̂,  ̂, ̂, and  ̂,  ̂, ̂ defines the base axis of each of the frame coordinates A dan B [5].Quaternion describes the orientation it uses Equation 1. (1 where rx, ry, and rz define the component of vector Â inside x, y, dan z axes on frame A.

F. Euler Angles
Euler angles displays the rotation of an object around the coordinate axis.Different axes of rotation rotation produce different resultant rotations.Therefore, the Euler angle is defined according to the selected sequence (convention) [6].
On Figure 6, displays the rotation on the x, y, and z axes.The rotation of an object around the z axis is called as Yaw angle ().The rotation of an object around the y axis is called as Pitch angle ().And the rotation of an object around the x axis is called as Roll angle () [6].

G. Digital Low-Pass Filter
Digital low-pass filters are filters that damping the digital high-frequency signals, and pass digital low-frequency signals through Equation 2 [7].
(2)   is the filter resultswhen timet.  is preliminary data.αis the coefficient that determines the number of samples calculated by the range of values 0-1.

H. Fluid Pressure and Depth
Pressure is a measured force that act on an object.Pressure on liquids, often referred to as hydrostatic pressures, is influenced by depth, gravity, and density [8].
The formula for calculating the pressure of a liquid can be seen in Equation 3.
International Conference on Engineering, Advance Science and Industrial Application (ICETESIA) 2018 September 6-7 2018, Institut Teknologi Sepuluh Nopember, Surabaya, Indonesia Where  ℎ is the hidrostaic pressure, with units Pascal (Pa). is the density of the liquid, by unit kg/m 3 .gis the force of gravity of the earth, with units m/s 2 .h is the depth of the liquid, with the unit of meter (m).

A. INS Board
The INS board is a microcontroller based on ATmega328P, 16 MHz crystal oscillator (XTAL), AMS1117 3.3 V voltage regulator, and supporting electronic components such as capacitors and resistors.The board serves as a place for the MPU9250 and MS5837 embedded sensors, as well as the 9 DoF Measurement data processors to be the orientation and depth data.INS board can be seen on Figure 7.

B. MPU9250 Programming
Programming started with the <Wire.h>library initialization, registers, and variables.The program continued with initialization Wire.begin () and Serial.begin(38400) to start communication.
Data measurement begins with sending registers and selecting a full scale range on the sensor.The initial measurement results in acceleration, angular velocity, and magnetic field data respectively on the x, y, and z axes.The data is then processed using a digital low-pass filter to reduce noise in the data.
The filtered data is then processed using Madgwick quaternion calculations.Gyroscope measures the rate of the angle around the x, y, and z axes, each of which is called   ,   , and   which is processed into a   vector.
Orientation on the Earth's frame against the sensor frame at the timet,  ,   , can be calculated using a quaternion derivative Ė  , with known initial orientation conditions.
2b z q 4 -4b x q 3 -2b z q 1 -2b x q 4 +2b z q 2 2b x q 3 +2b z q 1 2b x q 2 +2b z q 4 2b x q 3 2b x q 4 -4b z q 2 2b x q 1 -4b z q 3 -4b x q 4 -2b z q 2 -2b x q 1 +2b z q 3 2b x q 2 ] Gravitational or magnetic field measurements alone can not produce orientation.In order to produce such data, the measurements and reference directions of the two fields can be combined into  , (  Ê  ,  Ŝ ,  Ê ,  Ŝ ) and  , (  Ê  ,  Ê ).Euler's angle then converts the quaternion number that has been obtained to be the orientation data which includes the angle of roll, pitch, and yaw by using the equation: Where yaw data () used as data on the compass.The orientation data is then sent to the computer using serial communication and displayed in the serial monitor on the Arduino IDE.

C. MS5837 Programming
Programming begins with initialization library <Wire.h>,registers, and variables.The program continues with initialization Wire.begin () and Serial.begin(38400) to start the communication.
Data measurement begins with sending registers to the sensor to measure initial pressure and temperature.The data is sent from the sensor to the microcontroller and processed to become the final pressure measurement data, where the measured temperature value affects the pressure value.
The final pressure measurement data is used to calculate the water depth data.The calculation uses the hydrostatic pressure equation as follows: where Depth is the depth of water in units of meters (m).P is the hydrostatic pressure in units of bars. is the fluid density 997.77 kg/m 3 , according to the density of the water at room temperature (25 o C). g is the earth's gravitational force of 9.807 m/s 2 .The measured depth data is then sent to the computer using serial communication and displayed on the monitor serial in the Arduino IDE.

A. MPU9250 Test
Testing begins with measuring linear acceleration, angular velocity, and magnetic field respectively on the x, y, and z axes to get the data in the angle of roll, pitch, and yaw.

Roll
The roll angle is obtained through rotation by the y-axis around the x-axis, as shown on Figure 8.The testing process begins by rotating the y-axis of the sensor to the x-axis by the difference of data retrieval every 10 o and the range of degrees starts from 0 o until 90 o .
Test results data can be seen on Table 1.The measured roll angle has the farthest difference of 0.9 o with an average difference of 0.43 o .The test is continued by testing the value of the rollsensor angle noise in steady state by measuring the roll angle in a stationary state above the horizontal plane.The measurement data over the time range t = 0 ms to t = 10000 ms is converted to a graph shown on Figure 9. Based on the graph shown, it is known that the time for the sensor reaches a steady state of 800 ms with a noise value in steady state of 0.1 o .

Pitch
The pitch angle is obtained through the rotation performed by the x-axis around the y-axis, as shown on Figure 10.The testing process begins by rotating the x-axis of the sensor against the y-axis with a range of degrees ranging from 0 o to 90 o .Test results data can be seen on Table 2.The measured pitch angle has the farthest difference of 2 o with an average difference of 0.48 o .The test is continued by testing the pitch angle measurement value of the sensor in steady state by measuring the pitch angle in the still state above the horizontal plane.The measurement data over the time range t = 0 ms to t = 10000 ms is converted to a graph shown on Figure 11.Based on the graph shown, it is known that the time for the sensor reaches a steady state of 800 ms with a noise value in steady state of 0.1 o .

Yaw
The yaw angle is obtained through the rotation performed by the x and y axes around the z axis, as shown on Figure 12.Yaw is positive if the positive z-axis rotates clockwise, and is negative if it is oriented counter-clockwise, with an initial angle of 0 o to 180 o .Data used as compass after conversion, so the angle range becomes 0 o to 360 o .The testing process begins by rotating the x and y axes of the sensor against the z axis with a range of degrees ranging from 0 o to 360 o .Test results data can be seen on Table 3.The yaw angle on the measured compass has the farthest difference of 3 o with an average difference of 0.96 o .
is angular velocity at time t and  Ê  ,−1 is an estimate of the previous orientation.

The 3 -
axis accelerometer measures the magnitude and direction of the gravitational force within the frame of the sensor connected to the linear acceleration.Magnetometer measures the magnitude and direction of the earth's magnetic field connected with local magnetic flux and distortion.Sensor orientation,  Ê  , aligning the reference of the magnetic field direction specified in the earth's frame,  Ê , with the direction of the measured magnetic field within the sensor frame, Ŝ .The gradient decrease algorithm is used to optimize the calculation.The algorithm produces an approximate orientation,  Ê  +1 , for n-iteration based on the initial guess of orientation,  Ê  0 , and step size µ.Calculation ∇(  Ê   ,  Ê , Ŝ ) calculate the gradient of the solution surface defined by the objective and Jacobian functions.If the direction of the gravitational field is assumed to have a component in 1 or 2 major axes in the global coordinate frame, the direction of gravity defines the vertical axis of the z-axis as  Ê .Subtituting  Ê and normalize accelerometer measurements,  Ŝ , for each  Ê and Ŝ , in the equation of the objective function and the Jacobian yields the equation   (  Ê  ,  Ŝ ) and   (  Ê  ). Ê = [0 0 0 1]  Ŝ = [0       ] magnetic field can have a part in the horizontal and vertical axis,  Ê .Subtituting  Ê and normalize magnetometer measurements,  Ŝ , respectively for  Ê and Ŝ , in the equation of the objective function and the Jacobian yields the equation   (  Ê  ,  Ê ,  Ŝ ) and , (  Ê  ,  Ŝ ,  Ê ,  Ŝ ) = [   (  Ê  ,  Ŝ )   (  Ê  ,  Ê ,  Ŝ ) ]  , (  Ê  ,  Ê )

Figure 11 .
Figure 11.Graph of stability of pitch angle data.

TABLE 2 .
PITCH ANGLE ACCURACY TESTING DATA Protractor