diff --git a/Files_4_thesis/Different_controllers/docking_with_PID_controller.m b/Files_4_thesis/Different_controllers/docking_with_PID_controller.m
index 3c9139ebe503e4eaf864b115fcbd43aacca1e591..597277d6a841376b2d354753588e8c3c5729a0ca 100644
--- a/Files_4_thesis/Different_controllers/docking_with_PID_controller.m
+++ b/Files_4_thesis/Different_controllers/docking_with_PID_controller.m
@@ -414,7 +414,7 @@ grid on
 
 % Trajectory 
 
-
+% 
 % figure;
 % plot(Pose_Y_data_1,Pose_X_data_1,'b',ref_Y_data_1,ref_X_data_1,'k*');
 % hold on
@@ -422,7 +422,7 @@ grid on
 % 
 % hold on
 % plot(Pose_Y_data_3,Pose_X_data_3,'g',ref_Y_data_3,ref_X_data_3,'k*');
-% 
+
 
 % 
 % for k = Pose_X_data_1(1):Pose_X_data_1(size(Pose_X_data_1,1))
@@ -433,23 +433,35 @@ grid on
 % x_arrow = linspace(Pose_X_data_1(1),Pose_X_data_1(size(Pose_X_data_1,1)),150);
 % y_arrow = linspace(Pose_Y_data_1(1),Pose_Y_data_1(size(Pose_Y_data_1,1)),150);
 % 
-% Vx = gradient(x_arrow,.01);
-% Vy = gradient(y_arrow,.01);
-% 
+% Vx = gradient(Pose_X_data_1);
+% Vy = gradient(Pose_Y_data_1);
+
 % figure;
-% plot(y_arrow,x_arrow,'b--','LineWidth',.5);
-% % hold on
-% % quiver(y_arrow,x_arrow,Vy,Vx,'r--','LineWidth',1.5);
-% 
+% plot(Pose_Y_data_1,Pose_X_data_1,'b','LineWidth',3.5);
+% hold on
+% quiver(Pose_Y_data_1,Pose_X_data_1,Vy,Vx,'r--','LineWidth',.1);
+
 figure;
 subplot(1,3,1);
 plot(Pose_Y_data_1,Pose_X_data_1,'b','LineWidth',2);
+hold on
+quiver(Pose_Y_data_1,Pose_X_data_1,gradient(Pose_Y_data_1),gradient(Pose_X_data_1),'r--','LineWidth',.1);
+
 hold on
 plot(Pose_Y_data_2,Pose_X_data_2,'r','LineWidth',2);
+hold on
+quiver(Pose_Y_data_2,Pose_X_data_2,gradient(Pose_Y_data_2),gradient(Pose_X_data_2),'m--','LineWidth',.1);
+
 hold on
 plot(Pose_Y_data_3,Pose_X_data_3,'g','LineWidth',2);
+hold on
+quiver(Pose_Y_data_3,Pose_X_data_3,gradient(Pose_Y_data_3),gradient(Pose_X_data_3),'k--','LineWidth',.1);
+
 hold on
 plot(Pose_Y_data_4,Pose_X_data_4,'m','LineWidth',2);
+hold on
+quiver(Pose_Y_data_4,Pose_X_data_4,gradient(Pose_Y_data_4),gradient(Pose_X_data_4),'b--','LineWidth',.1);
+
 hold on
 plot(y_circle,x_circle,'k--','LineWidth',3.4);
 
diff --git a/Files_4_thesis/Different_controllers/trajectory.jpg b/Files_4_thesis/Different_controllers/trajectory.jpg
index dc9076c2ae4c570f52811d47d558ac964aceef2f..a5fa398491e91dd6505ce3025d31033fd02e9c72 100644
Binary files a/Files_4_thesis/Different_controllers/trajectory.jpg and b/Files_4_thesis/Different_controllers/trajectory.jpg differ
diff --git a/Files_4_thesis/MSc_Thesis_Report_Alijani_Farid.pdf b/Files_4_thesis/MSc_Thesis_Report_Alijani_Farid.pdf
index bcf9a2fe81c0c317c2f566457a599449d8848561..41db8d8621d681ff50dbfa2b64826e9683761a08 100644
Binary files a/Files_4_thesis/MSc_Thesis_Report_Alijani_Farid.pdf and b/Files_4_thesis/MSc_Thesis_Report_Alijani_Farid.pdf differ
diff --git a/Files_4_thesis/Report.docx b/Files_4_thesis/Report.docx
index d8654575bf6d676f68ab51d916466687632d87b2..0106f4521dd432e4dc74d73f9db2ccee2062f3ea 100644
Binary files a/Files_4_thesis/Report.docx and b/Files_4_thesis/Report.docx differ
diff --git a/Files_4_thesis/import_data_test.m b/Files_4_thesis/import_data_test.m
index a5e1bd878ff9e22109eae4fa1c2a97fddc4fc768..3ed1c2329e2dbd5b5e1e5d9bc01e1a1202d5a948 100644
--- a/Files_4_thesis/import_data_test.m
+++ b/Files_4_thesis/import_data_test.m
@@ -18,14 +18,19 @@ clc;
 % grid on
 % % axis([-1 3 -1 2.5])
 % 
-x = linspace(0,2*pi,15);
-x_prime = gradient(x,.2);
+x = linspace(0,2*pi,5);
 y = sin(x);
-y_prime = gradient(y,.2);
+% 
+% x = linspace(1,10,10);
+% y = zeros(1,size(x,2));
+
+x_prime = gradient(x);
+y_prime = gradient(y);
 figure;
-plot(x,y,'r--','LineWidth',1.8)
+plot(x,y,'r--','LineWidth',3.8)
 hold on
 quiver(x,y,x_prime,y_prime,'g','LineWidth',2.2)
+grid on
 % 
 % R
 
diff --git a/Files_4_thesis/scanner_analysis.asv b/Files_4_thesis/scanner_analysis.asv
deleted file mode 100644
index d525bb3775de33fe9abb0e56267a049fef4679e3..0000000000000000000000000000000000000000
--- a/Files_4_thesis/scanner_analysis.asv
+++ /dev/null
@@ -1,315 +0,0 @@
-clc;
-close all;
-clear all;
-
-upper_angle = 135; % deg.
-lower_angle = -135; % deg.
-dist_to_obst = .1; % m.
-
-%% docked robot for 5 different experiences...
-
-S_mat = csvread('Scan_Data_5_exp.csv');
-
-indx = S_mat(:,1);
-
-s_exp_1 = S_mat(:,2);
-s_exp_2 = S_mat(:,3);
-s_exp_3 = S_mat(:,4);
-s_exp_4 = S_mat(:,5);
-s_exp_5 = S_mat(:,6);
-
-
-points = size(indx,1); % to calculate the angle...
-laser_beam = points -1;
-
-angle = zeros(points,1);
-X_exp_1 = zeros(points,1);
-X_exp_2 = zeros(points,1);
-X_exp_3 = zeros(points,1);
-X_exp_4 = zeros(points,1);
-X_exp_5 = zeros(points,1);
-X_obst = zeros(points,1);
-
-Y_exp_1 = zeros(points,1);
-Y_exp_2 = zeros(points,1);
-Y_exp_3 = zeros(points,1);
-Y_exp_4 = zeros(points,1);
-Y_exp_5 = zeros(points,1);
-Y_obst = zeros(points,1);
-
-
-
-for i = 1:points
-    
-    angle(i) = (lower_angle + (indx(i)* ((upper_angle - lower_angle)/(laser_beam))))* pi/180;
-    
-    X_exp_1(i) = s_exp_1(i) * cos(angle(i));
-    X_exp_2(i) = s_exp_2(i) * cos(angle(i));
-    X_exp_3(i) = s_exp_3(i) * cos(angle(i));
-    X_exp_4(i) = s_exp_4(i) * cos(angle(i));
-    X_exp_5(i) = s_exp_5(i) * cos(angle(i));
-    X_obst(i) = dist_to_obst * cos(angle(i));
-    
-    Y_exp_1(i) = s_exp_1(i) * sin(angle(i));
-    Y_exp_2(i) = s_exp_2(i) * sin(angle(i));
-    Y_exp_3(i) = s_exp_3(i) * sin(angle(i));
-    Y_exp_4(i) = s_exp_4(i) * sin(angle(i));
-    Y_exp_5(i) = s_exp_5(i) * sin(angle(i));
-    Y_obst(i) = dist_to_obst * sin(angle(i));    
-end
-
-% theta vs. scanner_value & reference
-figure;
-subplot(1,2,1);
-% plot(angle,s_exp_1,'m--','LineWidth',1.1);
-% hold on;
-plot(angle,s_exp_2,'m--','LineWidth',1.9);
-hold on;
-plot(angle,s_exp_3,'b--','LineWidth',1.9);
-hold on;
-plot(angle,s_exp_4,'c--','LineWidth',1.5);
-hold on;
-% plot(angle,s_exp_5,'b--','LineWidth',.8);
-% hold on;
-plot(angle,dist_to_obst,'rx','LineWidth',.05);
-title('');
-xlabel('${Angle}$ [rad]','interpreter','latex');
-ylabel('${Obstacle  Distance}$ [m]','interpreter','latex');
-axis([-.09 .42 .08 .2]);
-% legend('Experiment 1','Experiment 2','Experiment 3','Safety Curve');
-subplot(1,2,2);
-% plot(X_exp_1,Y_exp_1,'m--','LineWidth',.9);
-% hold on
-plot(X_exp_2,Y_exp_2,'m--','LineWidth',1.9);
-hold on
-plot(X_exp_3,Y_exp_3,'b--','LineWidth',1.9);
-hold on
-plot(X_exp_4,Y_exp_4,'c--','LineWidth',1.5);
-hold on
-% plot(X_exp_5,Y_exp_5,'b--','LineWidth',.1);
-% hold on
-plot(X_obst,Y_obst,'r--','LineWidth',.05);
-title('');
-xlabel('${X_{rob}}$ [m]','interpreter','latex');
-ylabel('${Y_{rob}}$ [m]','interpreter','latex');
-axis([-.1 .16 -.18 .18]);
-l = legend('Experiment 1','Experiment 2','Experiment 3','Safety Curve');
-set(l,'interpreter','latex','FontSize',12);
-
-%% docked robot with marker vs. docked robot without marker!
-S_Mat_DockedwithMar = csvread('scanner_data_Docked_WITH_Marker.txt',0,0);
-S_Mat_DockedwithNOmar = csvread('scanner_data_no_cylinder.txt',0,0);
-
-indx_DockedwithMar = S_Mat_DockedwithMar(:,1);
-s_val_DockedwithMar = S_Mat_DockedwithMar(:,2);
-
-indx_DockedwithNOmar = S_Mat_DockedwithNOmar(:,1);
-s_val_DockedwithNOmar = S_Mat_DockedwithNOmar(:,2);
-
-points_DockedwithMar = size(indx_DockedwithMar,1);
-points_DockedwithNOmar = size(indx_DockedwithNOmar,1);
-
-laser_beam_DockedwithMar = points_DockedwithMar - 1;
-laser_beam_DockedwithNOmar = points_DockedwithNOmar - 1;
-
-s_angle_DockedwithMar = zeros(points_DockedwithMar,1);
-s_angle_DockedwithNOmar = zeros(points_DockedwithNOmar,1);
-
-X_DockedwithMar = zeros(points_DockedwithMar,1); Y_DockedwithMar = zeros(points_DockedwithMar,1);
-X_DockedwithNOmar = zeros(points_DockedwithNOmar,1); Y_DockedwithNOmar = zeros(points_DockedwithNOmar,1);
-
-X_obst_DockedwithMar = zeros(points_DockedwithMar,1); Y_obst_DockedwithMar = zeros(points_DockedwithMar,1);
-X_obst_DockedwithNOmar = zeros(points_DockedwithNOmar,1); Y_obst_DockedwithNOmar = zeros(points_DockedwithNOmar,1);
-
-
-for i = 1:points_DockedwithMar
-    s_angle_DockedwithMar(i) = (lower_angle + (indx_DockedwithMar(i)* ((upper_angle - lower_angle)/(laser_beam_DockedwithMar))))* pi/180;
-    X_DockedwithMar(i) = s_val_DockedwithMar(i) * cos(s_angle_DockedwithMar(i));
-    Y_DockedwithMar(i) = s_val_DockedwithMar(i) * sin(s_angle_DockedwithMar(i));
-    X_obst_DockedwithMar(i) = dist_to_obst * cos(s_angle_DockedwithMar(i));
-    Y_obst_DockedwithMar(i)= dist_to_obst * sin(s_angle_DockedwithMar(i));
-end
-
-
-for i = 1:points_DockedwithNOmar
-    s_angle_DockedwithNOmar(i) = (lower_angle + (indx_DockedwithNOmar(i)* ((upper_angle - lower_angle)/(laser_beam_DockedwithNOmar))))* pi/180;
-    X_DockedwithNOmar(i) = s_val_DockedwithNOmar(i) * cos(s_angle_DockedwithNOmar(i));
-    Y_DockedwithNOmar(i) = s_val_DockedwithNOmar(i) * sin(s_angle_DockedwithNOmar(i));
-    X_obst_DockedwithNOmar(i) = dist_to_obst * cos(s_angle_DockedwithNOmar(i));
-    Y_obst_DockedwithNOmar(i)= dist_to_obst * sin(s_angle_DockedwithNOmar(i));
-end
-
-% checking accuracy in robot coordinate system
-figure;
-subplot(3,1,1);
-plot(X_DockedwithNOmar,Y_DockedwithNOmar);
-hold on;
-plot(X_obst_DockedwithNOmar,Y_obst_DockedwithNOmar,'r','LineWidth',3);
-xlabel('X_r [m]');
-ylabel('Y_r [m]');
-title('Scanner Analysis robot coordinate system WITHOUT a marker');
-legend('Obstacles','Laser scanner safety curve (r = 10 cm)');
-grid on
-axis([-2.5 4 -4 1]);
-
-subplot(3,1,2);
-plot(X_DockedwithMar,Y_DockedwithMar,'b');
-hold on;
-plot(X_obst_DockedwithMar,Y_obst_DockedwithMar,'r','LineWidth',3);
-xlabel('X_r [m]');
-ylabel('Y_r [m]');
-title('Scanner Analysis robot coordinate system WITH a marker');
-grid on
-axis([-2.5 4 -4 1]);
-
-subplot(3,1,3);
-plot(X_DockedwithMar,Y_DockedwithMar,'b');
-hold on;
-plot(X_obst_DockedwithMar,Y_obst_DockedwithMar,'r','LineWidth',.3);
-xlabel('X_r [m]');
-ylabel('Y_r [m]');
-grid on
-axis([.04 .16 -.12 .12]);
-
-% 
-figure;
-subplot(3,1,1);
-plot(s_angle_DockedwithNOmar,s_val_DockedwithNOmar);
-hold on
-plot(s_angle_DockedwithNOmar,dist_to_obst,'r','LineWidth',.2);
-xlabel('Angle [rad]');
-ylabel('Distance to Obstacle [m]');
-title('Scanner Analysis; docked robot WITHOUT a marker');
-legend('Surrounding objects','Laser scanner safety line (r = 10 cm)');
-axis([-2.2 2.2 -.5 5]);
-
-
-subplot(3,1,2);
-plot(s_angle_DockedwithMar,s_val_DockedwithMar);
-hold on
-plot(s_angle_DockedwithMar,dist_to_obst,'r','LineWidth',.2);
-xlabel('Angle [rad]');
-ylabel('Distance to objects [m]');
-title('Scanner Analysis; docked robot WITH a marker');
-axis([-2.2 2.2 -.5 5]);
-
-subplot(3,1,3);
-plot(s_angle_DockedwithMar,s_val_DockedwithMar);
-hold on
-plot(s_angle_DockedwithMar,dist_to_obst,'r','LineWidth',10);
-xlabel('Angle [rad]');
-ylabel('Distance to Obstacle [m]');
-axis([-.15 .35 .08 .15]);
-
-%% The robot is moving Towards docking...!
-Scanner_Matrix_Moving = csvread('scanner_data_Moving_Towards_Docking_WITH_Marker.txt',0,0);
-
-index_Moving = Scanner_Matrix_Moving(:,1);
-scanner_value_Moving = Scanner_Matrix_Moving(:,2);
-
-index_Moving_Final = Scanner_Matrix_Moving(size(Scanner_Matrix_Moving,1),1);
-scanner_value_Moving_Final = Scanner_Matrix_Moving(size(Scanner_Matrix_Moving,1),2);
-
-% figure;
-% plot(index_Moving,scanner_value_Moving,'m',index_Moving_Final,scanner_value_Moving_Final,'k*');
-% legend('Distance to obstacle','Reference Position');
-% grid on;
-% xlabel('Index');
-% ylabel('Distance to Obstacle [m]');
-% title('Scanner Analysis for a moving robot!');
-% axis([0 540 0 31]);
-
-
-%% The robot is in the docking area, while NOT docked!
-S_Mat_Out = csvread('scanner_data_outside.txt',0,0);
-indx_out = S_Mat_Out(:,1);
-s_val_out = S_Mat_Out(:,2);
-
-points_out = size(indx_out,1);
-laser_beam_out = points_out - 1;
-s_angle_out = zeros(points_out,1);
-X_out = zeros(points_out,1); Y_out = zeros(points_out,1);
-X_obst_out = zeros(points_out,1); Y_obst_out = zeros(points_out,1);
-
-for i = 1:points_out
-    s_angle_out(i) = (lower_angle + (indx_out(i)* ((upper_angle - lower_angle)/(laser_beam_out))))* pi/180;
-    X_out(i) = s_val_out(i) * cos(s_angle_out(i));
-    Y_out(i) = s_val_out(i) * sin(s_angle_out(i));
-    
-    X_obst_out(i) = dist_to_obst * cos(s_angle_out(i));
-    Y_obst_out(i)= dist_to_obst * sin(s_angle_out(i));
-end
-
-figure;
-subplot(1,2,1);
-plot(s_angle_out,s_val_out,'b','LineWidth',2);
-hold on
-plot(s_angle_out,dist_to_obst,'r','LineWidth',10);
-xlabel('$Angle [rad]$','interpreter','latex','FontSize',14);
-ylabel('$Obstacle$','interpreter','latex','FontSize',14);
-grid on;
-axis([-2.23 2.23 -1 10]);
-
-subplot(1,2,2)
-plot(X_out,Y_out,'b','LineWidth',2);
-hold on
-plot(X_obst_out,Y_obst_out,'r-','LineWidth',4)
-xlabel('$ X [m] $','interpreter','latex','FontSize',14);
-ylabel('$Obstacle$','interpreter','latex','FontSize',14);
-
-title('Scanner Analysis Top view ( X - Y )');
-
-legend('Obstacles','Laser scanner safety margin (r = 10 cm)');
-
-grid on;
-axis([-1.2 5 -3.5 1.5]);
-
-
-%% The robot is totally docked and a box is besides of laser scanner!
-S_Mat_DockedwithBOX = csvread('scanner_data_box.txt',0,0);
-indx_DockedwithBOX = S_Mat_DockedwithBOX(:,1);
-s_val_DockedwithBOX = S_Mat_DockedwithBOX(:,2);
-
-points_DockedwithBOX = size(indx_DockedwithBOX,1);
-laser_beam_DockedwithBOX = points_DockedwithBOX - 1;
-s_angle_DockedwithBOX = zeros(points_DockedwithBOX,1);
-
-X_DockedwithBOX = zeros(points_DockedwithBOX,1); Y_DockedwithBOX = zeros(points_DockedwithBOX,1);
-X_obst_DockedwithBOX = zeros(points_DockedwithBOX,1); Y_obst_DockedwithBOX = zeros(points_DockedwithBOX,1);
-
-for i = 1:points_DockedwithBOX
-    s_angle_DockedwithBOX(i) = (lower_angle + (indx_DockedwithBOX(i)* ((upper_angle - lower_angle)/(laser_beam_DockedwithBOX))))* pi/180;
-    X_DockedwithBOX(i) = s_val_DockedwithBOX(i) * cos(s_angle_DockedwithBOX(i));
-    Y_DockedwithBOX(i) = s_val_DockedwithBOX(i) * sin(s_angle_DockedwithBOX(i));
-    
-    
-    X_obst_DockedwithBOX(i) = dist_to_obst * cos(s_angle_DockedwithBOX(i));
-    Y_obst_DockedwithBOX(i)= dist_to_obst * sin(s_angle_DockedwithBOX(i));
-end
-
-
-figure;
-
-subplot(2,1,1);
-plot(s_angle_DockedwithBOX,s_val_DockedwithBOX,'b','LineWidth',.01);
-hold on
-plot(s_angle_DockedwithBOX,dist_to_obst, 'r','LineWidth',5);
-xlabel('Angle [rad]');
-ylabel('Distance to Obstacle [m]');
-title('Scanner Analysis; docked robot with a BOX marker');
-legend('Surrounding objects','Laser scanner safety line (r = 10 cm)');
-axis([-2.2 2.2 0 5]);
-
-subplot(2,1,2);
-plot(s_angle_DockedwithBOX,s_val_DockedwithBOX,'b','LineWidth',.01);
-hold on
-plot(s_angle_DockedwithBOX,dist_to_obst, 'r','LineWidth',5);
-xlabel('Angle [rad]');
-ylabel('Distance to Obstacle [m]');
-axis([-1.9 0 .08 .22]);
-
-
-
-
-figure;
-plot(X_DockedwithBOX,Y_DockedwithBOX);
\ No newline at end of file