3.2 Modeling the tuned track system
We used a spring-mass-dashpot system in the track design problem (i.e., Figure 3.11 in Chapter 3 of the course reader, pictured below).
For that mechanical system, please answer the following questions:
a) Derive an expression for the system’s natural frequency, , with no damping (b=0). Sketch the displacement of the mass vs. time and label the period of oscillation in terms of the natural frequency.
(b) Assuming an underdamped system, derive an expression for the system’s damped natural frequency, , and damping ratio, , when (rigid track). Sketch the displacement of the mass vs. time, label the period of oscillation in terms of the damped natural frequency. How does the rate of decay of the oscillation relate to the natural frequency, , and damping ratio, ?
(c) The partially completed script simulateTunedTrackSystem.m numerically simulates the 2-degree-of-freedom tuned track system with track compliance and damping. Complete the following sections in the script:
- In the function tunedTrack_equationsOfMotion, use the equations of motion for the spring-mass-dashpot system (see Equation 3.3 in Chapter 3 of course reader) to fill in expressions for (second time derivative of runner’s displacement, xrdd, in the script) and (first time derivative of track displacement, xtd, in the script).
- In the function simulateTunedTrackSystem, use Figure 3.13 from Chapter 3 of the course reader to assign values to kt_compliant, kt_tuned, and kt_stiff, which represent the stiffnesses of compliant, tuned, and stiff tracks, respectively.
(d) Run the completed script to generate plots of the runner’s and track’s displacement over time. Assuming foot contact time is half the period of oscillation of the runner, use the graph to estimate foot contact time () for the three stiffness you chose. Compute normalized foot contact time () as contact time divided by the rigid track contact time. Using the same set of three stiffnesses, run the script for two different masses. What is the effect of the runner’s mass on contact time and normalized contact time?
Runner’s Mass (kg) | Compliant Track | Tuned Track | Stiff Track | |||
---|---|---|---|---|---|---|
50 | _________ | _________ | _________ | _________ | _________ | 1 |
_________ | _________ | _________ | _________ | _________ | _________ | 1 |
simulateTunedTrackSystem.m |
---|
% In MATLAB, the main function (in this case, simulateTunedTrackSystem)
% must match the file name exactly. To that end, do not rename the file!
% Do not modify the file except in as noted in the two steps below:
% Step 1: Fill in the two lines where noted in tunedTrack_equationsOfMotion
% Step 2: Fill in the three lines where noted in simulateTunedTrackSystem
function simulateTunedTrackSystem
% ODE parameters (end time, initial conditions)
t_final = 5;
xr_initial = 0;
xrd_initial = 0.1;
xt_initial = 0;
% System parameters
m = 50;
km = 1000;
zeta = 0.55;
b = 2*sqrt(m*km)*zeta;
%-- FILL IN THE THREE LINES BELOW, e.g., kt_compliant = 0.1*km; --%
kt_compliant = %-- FILL IN HERE --%
kt_tuned = %-- FILL IN HERE --%
kt_stiff = %-- FILL IN HERE --%
% Use Matlab's ode45 to integrate equations of motion
% Syntax:
% [t_solution, X_solution] = ode45( <function handle to equations of motion>, [t_initial, t_final],
initial_conditions)
[time_compliant, X_compliant] = ode45(@(t,X) tunedTrack_equationsOfMotion(t, X, m, km, b, kt_compliant),
[0, t_final], [xr_initial, xrd_initial, xt_initial]);
[time_tuned, X_tuned] = ode45(@(t,X) tunedTrack_equationsOfMotion(t, X, m, km, b, kt_tuned), [0, t_final],
[xr_initial, xrd_initial, xt_initial]);
[time_stiff, X_stiff] = ode45(@(t,X) tunedTrack_equationsOfMotion(t, X, m, km, b, kt_stiff), [0, t_final],
[xr_initial, xrd_initial, xt_initial]);
% Plot results
figure
subplot(2,1,1)
plot(time_compliant, X_compliant(:,1)), hold all
plot(time_tuned, X_tuned(:,1))
plot(time_stiff, X_stiff(:,1))
plot([0,t_final], [0,0], 'k--')
grid on
ylabel('x_r')
title('Displacement of runner')
legend('Compliant track', 'Tuned track', 'Stiff track')
subplot(2,1,2)
plot(time_compliant, X_compliant(:,3)), hold all
plot(time_tuned, X_tuned(:,3))
plot(time_stiff, X_stiff(:,3))
plot([0,t_final], [0,0], 'k--')
grid on
ylabel('x_t')
title('Displacement of track')
xlabel('t')
end function Xd = tunedTrack_equationsOfMotion(t, X, m, km, b, kt) % This function implements the equations of motion for the 2-degree of % freedom tuned track system. % % Variables: % Return vector of state derivatives
Xd(1,1) = xrd;
Xd(2,1) = xrdd;
Xd(3,1) = xtd; |