Integrated Inertial Navigation System with camera-based system using LabVIEW Software

This research exhibits an integrated Inertial Navigation System (INS) and a camera-based navigation system. The system contains three types of sensors such as A camera, capturing the terrain. The raw image data are fed into an image-processing algorithm, the output of which is a set of recognizable points in the image, An IMU (Inertial Measurement Unit) containing gyroscopes and accelerometers, magnetometer. The miniaturization, reduced cost, and increased accuracy of cameras and inertial measurement units (IMU) makes them ideal sensors for determining the 3D position and attitude of vehicles navigating in GPS-denied areas. In particular, fast and highly dynamic motions can be precisely estimated over short periods of time by fusing rotational velocity and linear acceleration measurements provided by the IMU's gyroscopes and accelerometers, respectively. The integration of the bias and noise in the inertial measurements can be significantly reduced by processing observations to point features detected in camera images in what is known as a vision-aided inertial navigation system. Keywords—INS, IMU, 3D Position, Gyroscope, Accelerometer


I. INTRODUCTION
To combine camera-based navigation and INS in an integrated navigation system; through which we will obtain a system that unites:  The precise measurement of high frequency motion that the INS delivers,  The low position drift rate that the camera-based navigation offers.
The camera-based navigation system provides position measurement aiding to the INS. This is an alternative to the conventional GPS (Global Positioning System) assisted INS. GPS is vulnerable to jamming and other disturbances. Camera-based navigation cannot that easily be disturbed, and an INS is impossible to jam.
Inertial Navigation System (INS) is a computer based selfcontained system that will provide aircraft's geographic information in terms of latitude and longitude with aircraft speed, heading and tracking information. Additionally it can also provide wind velocity and direction if we use True Air Speed (TAS) as an input value. In INS system, angular rate and specific force measurements from Inertial Measurement Unit (IMU) are processed to yield the position, velocity and attitude of the aircraft.
Inertial navigation is used during a wide variety of applications as well as the navigation of Aircraft, strategic missiles, Space-crafts, submarines, and ships. Recent advances within the construction of Microelectromechanical devices have created it attainable to manufacture tiny and light-weight guidance systems [1], [2]. These advances have widened the range of possible applications to incorporate areas like human and animal motion capture.

II. RELATED WORK
To determine the position of an aircraft we need 2 accelerometers, one for the North-South direction and other for the East-West. Now with the help of these 2 sensors we will get our final position in reference to the initial position. Accelerometer should constantly remain horizontal to accurately measure the aircraft's acceleration.
To maintain the accelerometer horizontal we use a Gyrostabilized platform which is called INS.
INS requires the basic input values such as the initial position, GPS data, Pressure reading and the True Airspeed for wind speed. Before INS can work autonomously it requires an initialization process known as alignment. During alignment process the INS establish a relationship between aircraft's frame and the geographic reference of the aircraft. The time taken for the alignment process depends upon the accuracy it have. Some INS completes this process while they are in motion. They do this with the help of GPS. For the rest of the system we have to manually enter the initial positions. The aircraft of remain stationary during this procedure because a slight movement can disturb the final outcome if the INS is the sole mean of navigation in the aircraft [3].
Quadcopters are type of multi rotor helicopter that are lifted and propelled by 4 motors. They use 2 pairs of identical fixed pitched propellers to generate lift, in which 2 are clockwise and other 2 motors rotates anticlockwise direction. By changing the speed of each rotor it is possible to specifically generate a desired total thrust, to locate for the center of thrust both laterally and longitudinally and to create a desired total torque, or turning force. At a small size, quadcopters are cheaper and more durable than conventional helicopters due to their mechanical simplicity. Their smaller blades are also advantageous because they possess less kinetic energy, reducing their ability to cause damage.
The frame of our quadcopter is an Aluminum Fiber Glass frame of dimension 20*10*10 cm. We are using four 2800 KV brushless motors with 30 A of ESC (Electronic Speed Controller). An electronic speed control is used to vary a motor's speed, its direction and possibly also to act as a dynamic brake. ESCs are often used on motors essentially providing an electronically generated three-phase electric power low voltage source of energy for the motor.
The battery is of 3300 mAh with 2.4 GHz Flysky transmitters. The Heart of all Multirotors is the Flight Controller; this gives stabilization and control to all Multirotors. We are using APM 2.8 flight controller. Some of their features are:  It supports two-way telemetry and in-flight command using the powerful MAVlink Protocol.  4 MB of onboard data logging memory. Built-in hardware failsafe processor.

III. METHODOLOGY
At each time step, the INS computes an estimate of the vehicle position and attitude. Using these estimates together with the position of the landmarks to calculate predicted positions attitude carries out the integration with the camera-based navigation, and velocity estimates at high-rate.The difference between these predicted positions and the measured positions of the image tokens are used to estimate the INS errors.
Arduino code consists of a setup part and a loop, which runs continuously containing the calculations part. Xbee is used with "6 DOF" IMU sensors to get values of angles changed from initial position along all the three axis and angular velocities of the same. These values are used as input values to Arduino. Generally an IMU consists of an accelerometer, gyroscope, Pressure and magnetometer. The values read from these components are calibrated to get the desired sensor values [4].  An infinite loop is generated in which data received from serial port is sent to myserial and vise versa. In this way, communication is done both by ground station to object And Object to Ground Station.
Inertial Measurement Unit (IMU) Inertial Measurement Units (IMU) is a self-contained system that measures linear and angular motion usually with a triad of gyroscopes and triad of accelerometers. An IMU can either be gimbaled or strap down, outputting the integrating quantities of angular velocity and acceleration in the sensor/body frame. They are commonly referred to as the rate-integrating gyroscopes and accelerometers [6].
For our project we are using 06-DOF (Degree of Freedom) IMU. This inertial-measurement-unit combines 2 sensors to give you 06 axes of data, which are  3 axes of accelerometer data  3 axes gyroscopic

MPU6050 IMU sensor
The MPU-6050 is a motion processing technology. By combining a MEMS 3-axis gyroscope and a 3-axis accelerometer on the same silicon die together with an onboard Digital Motion Processor™ (DMP™) capable of processing complex 9-axis MotionFusion algorithms, the MPU-6050 does away with the cross-axis alignment problems that can creep up on discrete parts [5]. Its Features are:  I2C Digital-output of 6 or 9-axis MotionFusion data in rotation matrix, quaternion, Euler Angle, or raw data format  Input Voltage: 2.3 -3.4V  Selectable Solder Jumpers on CLK, FSYNC and AD0  Tri-Axis accelerometer with a programmable full scale range of ±2g, ±4g, ±8g and ±16g  Digital Motion Processing™ (DMP™) engine offloads complex MotionFusion, sensor timing synchronization and gesture detection  Embedded algorithms for run-time bias and compass calibration. No user intervention required  Digital-output temperature sensor Arduino UNO Arduino Uno is a microcontroller based on the Atmega 328P. It has 14 digital input/output pins,6 analog inputs,a 16MHz quartz crystal,a USB connection,a power jack,an ICSP header and a reset button.It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get started [6]. Table 1: Specifications of Arduino UNO Communication system: XBee Xbee are the modules providing wireless end-point connectivity to devices. For this we are using Xbee S68 module. This is the XBee WiFi Module with wire antenna from Digi. XBee WiFi embedded RF modules provide simple serial to IEEE 802.11 connectivity. By bridging the low-power/low-cost requirements of wireless device networking with the proven infrastructure of 802.11, the XBee WiFi creates new wireless opportunities for energy management, process and factory automation, wireless sensor networks, intelligent asset management and more. Focused on the rigorous requirements of these wireless device networks, the module gives developers IP-to-device and device-to-cloud capability [6].

I 2 C Protocol
The Inter-integrated Circuit (I 2 C) Protocol is a protocol intended to allow multiple "slave" digital integrated circuits to communicate with one or more "master" chips. Unlike the Serial Peripheral Interface (SPI) which is only intended for short distance communications within a single device, I 2 C is used for communications between sensors for data exchange. The IMU sensor communicates with the Arduino through the I 2 C protocol [5].
The I 2 C bus physically consists of 2 active wires and a ground connection. The active wires, called SDA and SCL, are both bi-directional. SDA is the Serial Data line, and SCL is the Serial Clock line. Every device hooked up to the bus has its own unique address, no matter whether it is an MCU, LCD driver, memory, or ASIC. Each of these chips can act as a receiver and/or transmitter, depending on the functionality. Obviously, an LCD driver is only a receiver, while a memory or I/O chip can be both transmitter and receiver. The I 2 C bus is a multi-master bus. This means that more than one IC capable of initiating a data transfer can be connected to it. The I 2 C protocol specification states that the IC that initiates a data transfer on the bus is considered the Bus Master. Consequently, at that time, all the other ICs are regarded to be Bus Slaves. As bus masters are generally microcontrollers, here for instance, the bus master is ArduinoUno. Likewise, the MPU sensor is the Bus Slave.

XCTU Display
XCTU is a free multi-platform application that enables developers to manage radio frequency (RF) modules through a simple-to-use graphical interface. The application includes embedded tools that make it easy to set up, configure, and test RF modules. Some of the salient features of this platform are:  Compatible with the most-used operating systems, including Microsoft Windows, Linux, and Mac OS.  Automatically discover local and remote radio modules connected to your PC, regardless of their port connections or configured settings.  Manage and configure multiple RF devices, including remote devices communicating with XCTU over the air.  Visualize the topology of your RF networks, displaying all network nodes and connections graphically or in a table.
Use embedded tools to perform operations, from recovering modules to performing range tests.
Magnetometers have a wide range of uses. The most common include using the chip as a digital compass to sense direction or using them to detect ferrous (magnetic) metals. Magnetic fields and current go hand-in-hand, when current flows through a wire, a magnetic field is created. This is the basic principle behind electromagnets. This is also the principle used to measure magnetic fields with a magnetometer [6].

IV. RESULTS AND DISCUSSION
The selection of various instruments have been done along with the initial testing phase of flying the quadcopter. The stability of the frame, working of the motors and the intercompatibility of the various components used have been checked and performing to their maximum positive limit. The instruments pivotal to the actual pretense of this project have been selected such that they provide high accuracy while also not amounting to the budget being overshot. The particular models have been listed in the report along with the benefits provided by them in addition to these. Simulations of the instuments have been performed on respective softwares to provide figures and graphs and the following results have been obtained Figure 3. Quadcopter kept at almost 836m above mean sea level Figure 3 shows the plot of a stationery quadcopter kept at almost 836m above mean sea level vs. time. The above graph has been obtained in a computerized display.  Table 2: Altitude (Alt) Vs Acceleration in x, y, z (Acx, Acy,Acz) Table 2. shows the readings obtained for a flight up to 870m above mean sea level, with the ground level at 850m above mean sea level. The readings for Altitude, Acceleration in 'x', 'y' and 'z' axes are obtained.  Therefore the result is obtained in the form plots of the different components of a flying Quadcopter. This enables us to send out unmanned air vehicles to GPS denied regions and fly the drone without many hassles. This also enables us to track the drone at any given point of time in order to avoid losing the drone.

V. CONCLUSION AND FUTURE SCOPE
To provide effective camera tracking and survey data of INS system, an attitude 850 m to 852m accuracy of less than 0.1 degrees and position accuracy of less than 1.0 meter. The integrated INS system must be extremely rugged to meet the demands of outdoor filming for land, water, and aerial camera platforms for higher altitudes.