SHARE
TWEET

2

a guest Oct 10th, 2019 76 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. clc;
  2. % Given:
  3. A=500; % acceleration mm/sec^2
  4. D=-500; % deceleration mm/sec^2
  5. F=100; % feedrate (velocity) mm/sec
  6. L=50; % travel length mm
  7. Ts=0.001; % sampling period sec
  8.  
  9. T1=F/A; % from equation 2
  10. T3=-F/D; % from equation 3
  11. T2=L/F - (T1+T3)/2; % from equation 4
  12.  
  13. if T1<0 || T2<0 || T3<0 % kinematic compatibility conditions
  14.     disp('Error: acceleration, deceleration and travel length are not kinematically compatible.');
  15. else
  16.     tau1=0:Ts:T1; % create row vector for time, initial time : step size : final time
  17.     tau2=0:Ts:T2;
  18.     tau3=0:Ts:T3;
  19.    
  20.     % preallocate array for speed
  21.     s1=zeros(1,length(tau1));    sd1=zeros(1,length(tau1));    sdd1=zeros(1,length(tau1));
  22.     s2=zeros(1,length(tau2));    sd2=zeros(1,length(tau2));    sdd2=zeros(1,length(tau2));
  23.     s3=zeros(1,length(tau3));    sd3=zeros(1,length(tau3));    sdd3=zeros(1,length(tau3));
  24.    
  25.    % from equation 1
  26.     for index=1:length(tau1)
  27.         s1(index)=F*tau1(index)*tau1(index)/2/T1;
  28.     end
  29.     for index=1:length(tau2)
  30.         s2(index)=F*tau2(index) + F*T1/2;
  31.     end
  32.     for index=1:length(tau3)
  33.         s3(index)=-F*tau3(index)*tau3(index)/2/T3 + F*tau3(index) + L - F*T3/2;
  34.     end
  35. end
  36.  
  37. t1=tau1'; % change tau1 from a row vector to a column vector tau1'
  38. t2=tau2(2:end)' + T1; % shift bounds and drop first vector element
  39. t3=tau3(2:end)' + T1 + T2;
  40. t = [t1;t2;t3]; % concatenation of time vector
  41.  
  42. s1=s1';
  43. s2=s2(2:end)';
  44. s3=s3(2:end)';
  45. s = [s1;s2;s3]; % concatenation of trajectory vector
  46.  
  47. s_new = [s; 50 * ones(300,1); flipud(s); zeros(299,1)];
  48. t_new = [0:0.001:2]';
  49. simin = [t_new s_new];
  50.  
  51. %
  52. figure(1)
  53. plot(t_new, s_new)
  54.  
  55. %
  56. t=ScopeData.time;
  57. x=ScopeData.signals.values;
  58. u=ScopeData1.signals.values;
  59. xr=ScopeData2.signals.values;
  60. data=[t xr x u];
  61. save lab2_q3.txt -ASCII -double data
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top