0% found this document useful (0 votes)
35 views6 pages

Navigation Assignment

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views6 pages

Navigation Assignment

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

INDIAN INSTITUTE OF ENGINEERING

SCIENCE AND
TECHNOLOGY,SHIBPUR

NAME – ABHIRUP BHANDARI


ENROLLMENT ID – 2022AMB011
DEPARTMENT – AEROSPACE ENGINEERING AND
APPLIED MECHANICS
SUBJECT – NAVIGATION ASSIGNMENT

SUBJECT CODE – AE-3104

DATE OF SUBMISSION: 14/10/2024


Report on UAV Position and Velocity Estimation Using Accelerometer Data with Drift

An Unmanned Aerial Vehicle (UAV) is equipped with an INS that includes accelerometers providing
acceleration data in the x, y, and z directions over a period of 100 seconds. The UAV starts from rest
at the origin of a 3D coordinate system (x = 0, y = 0, z = 0), and its initial velocity is zero. The INS
records the following acceleration data with the interval of 1 second. Data is provided in a excel file.

Assumptions:

1. The UAV starts at the origin with zero velocity:

2. vx(0) = vy(0) = vz(0) = 0.

3. px(0) = py(0) = pz(0) = 0.

4. The time step between successive data points is 1 second.

5. The sensor drift of 0.005 m/s2.

Methodology:

1. Kinematic Equations:

The velocity and position of the UAV are computed using the following equations:

• Velocity at time t:

v(t) = v(t−1) + a(t) ⋅ dt

where v(t) is the velocity at time t, a(t−1) is the acceleration at the previous time step, and dt =
1 second.

• Position at time t:

p(t) = p(t−1) + v(t) ⋅ dt

where p(t) is the position at time t, v(t−1) is the velocity at the previous time step, and a(t−1) is the
acceleration at the previous time step.

2. Implementation in MATLAB:

The MATLAB code reads acceleration data from an Excel file and computes the velocity and position
over time. Drift is added to the raw acceleration data to simulate sensor error. The velocity and
position in the x, y, and z directions are calculated at each time step using the above kinematic
equations.

3. Data Handling:

• Acceleration Data: The acceleration values for the x, y, and z directions are extracted from
the Excel file.
• Drift Simulation: A constant drift of 0.005 m/s2 is added to each direction's acceleration
data.

4. Output:

The MATLAB script produces plots showing:

• Velocity in the x, y, and z directions as a function of time.

• Position in the x, y, and z directions as a function of time.

MATLAB Code:

data = xlsread('UAV_acceleration_data.xlsx');

time = 0:99;

d = 0.005;

ax = data(:, 2) + d;

ay = data(:, 3) + d;

az = data(:, 4) + d;

vx = zeros(1, 100);

vy = zeros(1, 100);

vz = zeros(1, 100)

x = zeros(1, 100);

y = zeros(1, 100);

z = zeros(1, 100);

dt = 1;

for t = 2:100
vx(t) = vx(t-1) + ax(t) * dt;

vy(t) = vy(t-1) + ay(t) * dt;

vz(t) = vz(t-1) + az(t) * dt;

x(t) = x(t-1) + vx(t) * dt ;

y(t) = y(t-1) + vy(t) * dt ;

z(t) = z(t-1) + vz(t) * dt ;

end
figure;

subplot(3,1,1);

plot(time, vx);

title('Velocity in x direction');

xlabel('Time (s)');

ylabel('Velocity (m/s)');

subplot(3,1,2);

plot(time, vy);

title('Velocity in y direction');

xlabel('Time (s)');

ylabel('Velocity (m/s)');

subplot(3,1,3);

plot(time, vz);

title('Velocity in z direction');

xlabel('Time (s)');

ylabel('Velocity (m/s)');

figure;

subplot(3,1,1);

plot(time, x);

title('Position in x direction');

xlabel('Time (s)');

ylabel('Position (m)');

subplot(3,1,2);

plot(time, y);

title('Position in y direction');

xlabel('Time (s)');

ylabel('Position (m)');
subplot(3,1,3);

plot(time, z);

title('Position in z direction');

xlabel('Time (s)');

ylabel('Position (m)');

final_position = [x(end), y(end), z(end)];

disp('Final position with drift:');

disp(final_position);

Results and Discussion:

1. Velocity Plots:
2. Position Plots:

3. Effect of Drift:

The constant drift added to the acceleration values results in a steady increase in the velocity over
time, which in turn leads to significant deviations in the UAV's position. Although the drift value of
0.005 m/s² seems small, over 100 seconds, the cumulative effect leads to noticeable changes in the
UAV's final position.

Conclusion:

This project demonstrates how velocity and position can be calculated from acceleration data using
kinematic equations. The addition of drift in the acceleration values simulates real-world sensor
errors and shows how even small drifts can accumulate over time, leading to significant deviations in
the final position.

Submitted by :-

Abhirup Bhandari

2022AMB011

You might also like