top of page

Inertial​

Navigation

on a vehicle

Team: 3 members
Role: Electronics and Data acquisition
Maharaja Agasen Institute of Technology

March 2019

Project report

Anchor 1
Overview

This project started out as an extension of the work for my BAJA SAE team. Usually in India, BAJA events happen in off city locations where cellular networks aren't really great. This always leads to situations where the driver and the crew at the pit are not in sync. So the driver is mostly alone for strategizing and often has no data about lap speeds and the positions of other teams.

​

So we wanted to create a standalone system for communication with the driver as well as to map, evaluate and convey vital data during the course of the 4-hour long Endurance race.

6.png

Graphical representation of an Inertial navigation system Algorithm

Process

My​ contribution, for the most part, was in the electronics and DATA acquisition and representation from and to the vehicle

We used a setup of Arduino and nrf24101 Radio communication Transceiver module for data communication. For IMU, we used a 9 axis mpu9250 sensor

​

Due to a range of biases and errors, the signal from the IMU needed a multitude of filtering before getting even tolerably correct.

wiring.jpg
sss.PNG

Raw data from magnetometer, accelerometer, and gyroscope in static condition

9_edited.jpg

Raw data from magnetometer, accelerometer, and gyroscope during motion

7.png
11.png

Bayes Theorem equivalent of Kalman filter

Graphical representation of Kalman filter 

Gimbal lock is the loss of one degree of freedom in a three-dimensional, three-gimbal mechanism that occurs when the axes of two of the three gimbals are driven into a parallel configuration, "locking" the system into rotation in a degenerate two-dimensional space.

​

Due to this problem, simple Euler angles were not usable and instead Quaternions, a four element vector was used to encode the 3 coordinate system.

8.png
5.png

After collection of sensor data from MPU 9250, all of the pre-processing tasks were performed using IPython notebook. We built an experimental structure in order to train the learning algorithm the correct motion types for each time-step. Thus the Convolutional Neural Network will be able to identify the exact signal data that gives out a path closer to the actual path traced by the object and can also develop a machine understanding of how 3D plots from direct data points differed from the actual scenario.

Result
1.PNG

Tracking a short square path around our college using our system.

Note how there's an initial drift in the traced points which persisted throughout our track.

2.PNG
3_edited.jpg

Tracking over 20 km using our system

4.PNG

Accuracy vs Iterations

Learnings and path forward

It was determined that in remote locations where ATVs usually operate, path tracing and positioning sensors like GPS are likely to fail. Under these scenarios, the only sensors that always produce data are 9DOF-IMUs which include on-board 3-axis accelerometers, 3-axis gyroscope and a 3-axis magnetometer. These sensors are usually not preferred for stand-alone IPS (Inertial Positioning Systems) as they have high noise in raw data, and result in extreme drift in positioning operations. 

During the course of our testing, the data gathered showed promising results but were still far off from accuracy therefore using as a stand alone system was still not feasible. However, using it with a GPS to training the algo as wellas for reference can greatly help reduce its shortcomings and we believe a hybrid system of both an IMU-GPS integrated together is the way forward for getting reliable positioning for the team.

  • Twitter
  • LinkedIn
  • Instagram
bottom of page