diff --git a/demo2.m b/demo2.m index 52743b4..6ae0690 100644 --- a/demo2.m +++ b/demo2.m @@ -190,6 +190,9 @@ zdot = q_sol(k,2) - ( (q_sol(k,3)*abs(q_sol(k,2))*sigma_0) / ... (Fc+(Fs-Fc)*exp(-(q_sol(k,2)/vs)^2)) ); F(k) = sigma_0*q_sol(k,3) + sigma_1 * zdot + sigma_2*q_sol(k,2); + + % When motion occurs, the resulting force suddenly drops + % See Fig. 6 (bottom figure) if (k>1) && (F(k)-F(k-1)<0) break; end diff --git a/sim_stick_slip.m b/sim_stick_slip.m index 60b536b..3a0dfe2 100644 --- a/sim_stick_slip.m +++ b/sim_stick_slip.m @@ -1,15 +1,17 @@ function [xdot, zdot, F] = sim_stick_slip(t, q, M, Fs, Fc, sigma_0, sigma_1, sigma_2, vs) - - - k = 2; % stiffness of the spring - y = 0.1*t; % 0.1 m/s - u = k * (y - q(1,:)); % force by the spring + + k = 2; % stiffness of the spring + y = 0.1*t; % 0.1 m/s + u = k * (y - q(1,:)); % force by the spring - zdot = q(2,:) - ( (q(3,:).*abs(q(2,:))*sigma_0) ./ (Fc+(Fs-Fc)*exp(-(q(2,:)/vs).^2)) ); + zdot = q(2,:) - ( (q(3,:).*abs(q(2,:))*sigma_0) ./ ... + (Fc+(Fs-Fc)*exp(-(q(2,:)/vs).^2)) ); + F = sigma_0*q(3,:) + sigma_1 * zdot + sigma_2*q(2,:); qdot_1 = q(2,:); qdot_2 = (u - F) / M; qdot_3 = zdot; xdot = [qdot_1 ; qdot_2; qdot_3 ]; + end \ No newline at end of file