Professional Documents
Culture Documents
Mehta Malay MTE Assignment
Mehta Malay MTE Assignment
Mehta Malay MTE Assignment
MATLAB CODE:
clc;
clear all;
close all;
A = 50000; % acceleration
D = 50000; % deceleration
T_min = 0.002; % minimum interpolation time
%% Problem formulation
dX = Xe-Xs;
dY = Ye-Ys;
L = sqrt(dX^2 + dY^2);
delU = Feed*T_min;
N = floor(L/delU);
N1 = Feed^2/(2*A*delU);
N3 = Feed^2/(2*D*delU);
N2 = N-(N1+N3);
delX = dX/N;
delY = dY/N;
X(1) = Xs;
Y(1) = Ys;
t(1) = 0;
f(1) = 0;
Ti(1) = 0;
feed = zeros(N,1);
Interval_Time = zeros(N,1);
Time_millisecond = zeros(N,1);
x_Postion = zeros(N,1);
y_Position = zeros(N,1);
i = 1;
for k = 2:(N1+1)
f(k) = sqrt(2*(k-1)*A*delU);
Ti(k) = 2*delU/(f(k)+f(k-1));
t(k) = t(k-1)+Ti(k);
Vx(k) = delX/Ti(k);
Vy(k) = delY/Ti(k);
fx(k) = sqrt(2*(k-1)*A*delX);
fy(k) = sqrt(2*(k-1)*A*delY);
X(k) = X(k-1)+delX;
Y(k) = Y(k-1)+delY;
feed(i) = f(k);
Interval_Time(i) = Ti(k);
Time_millisecond(i) = t(k);
x_Postion(i) = X(k);
y_Position(i) = Y(k);
i = i+1;
end
for k = (N1+2):(N1+N2+1)
f(k) = Feed;
Ti(k) = delU/Feed;
t(k) = t(k-1)+Ti(k);
Vx(k) = delX/Ti(k);
Vy(k) = delY/Ti(k);
fx(k) = fx(N1+1);
fy(k) = fy(N1+1);
X(k) = X(k-1)+delX;
Y(k) = Y(k-1)+delY;
v = fx(k);
w = fy(k);
feed(i) = f(k);
Interval_Time(i) = Ti(k);
Time_millisecond(i) = t(k);
x_Postion(i) = X(k);
y_Position(i) = Y(k);
i = i+1;
end
for k = (N1+N2+2):(N+1)
f(k) = sqrt((Feed^2)-(2*(k-(N1+N2+1))*D*delU));
Ti(k) = 2*(delU)/(f(k)+f(k-1));
t(k) = t(k-1)+Ti(k);
Vx(k) = delX/Ti(k);
Vy(k) = delY/Ti(k);
fx(k) = sqrt((v^2)-(2*(k-(N1+N2+1))*D*delX));
fy(k) = sqrt((w^2)-(2*(k-(N1+N2+1))*D*delY));
X(k) = X(k-1)+delX;
Y(k) = Y(k-1)+delY;
feed(i) = f(k);
Interval_Time(i) = Ti(k);
Time_millisecond(i) = t(k);
x_Postion(i) = X(k);
y_Position(i) = Y(k);
i = i+1;
end
T=table(feed,Interval_Time,Time_millisecond,x_Postion,y_Posi
tion)
tms= t*1000;
figure
grid on
plot(tms,X,'k')
title('Displacement Vs time')
hold on
plot(tms,Y,'r')
xlabel('Time(msec)')
ylabel('displacement')
legend('X-Displacement','Y-Displacement')
figure
plot(tms,fx,'k')
title('Velocity Vs time')
hold on
plot(tms,fy,'r')
xlabel('Time(msec)')
ylabel('Velocity')
legend('X-Velocity','Y-Velocity')
Displacement Graph:
Velocity Graph:
Output Table: