15 BOUNCING ROBOT 37 15 Bouncing Robot You are asked to explore the simple dynamics of a bouncing robot device, using simulation. There is a single mass with a very light helical spring attached on the bottom of it; the mass is 40kg, and the spring constant is 10400N/m. The spring additionally has a little bit of damping, 35Ns/m. The spring is NOT attached to the ground. The initial condition has zero vertical velocity and a 15cm compression of the spring. 1. Formulate the system dynamics with an annotated drawing and a statement of the governing equations. Solution: Let us say that vertical position y =0 corresponds with the spring in its natural, uncompressed state, and it is just touching the ground. Then when y< 0, there is a compression force pushing the mass upward at ky, and the associated damping by˙.When y> 0, there is no spring force at all. In all cases, there is a steady gravity force acting. We have then: my¨ + by˙ + ky = −mg when y< 0 ,or my¨ = −mg when y> 0. 2. Is this a linear system - why or why not? Since we are not forcing the system, you can answer the question by considering how the response changes as you scale the initial conditions. Solution: The system is nonlinear. If we apply a very large preload before release, we will get a large hopping response, whereas if we apply a very small preload the mass may not hop at all, because the spring doesn’t fully unload. 3. Run a simulation to get the response up to time ten seconds. Show in a plot both the vertical position and the velocity as a function of time. Solution: See that attached code and figure. Note that when the spring is unloaded, the velocity is changing linearly with time (constant acceleration), whereas when the spring is loaded, a sinusoidal velocity profile occurs. 4. Answer the specific question: At what time after the release does the lower end of the spring stop leaving the ground? Solution: The spring does not leave the ground again after 3.48 seconds.15 BOUNCING ROBOT 38 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Simulate a bouncing mass function bouncingMass clear all; [t,y] = ode45(@func,[0 10],[0 -0.15]) ; figure(1);clf;hold off; subplot(211); plot(t,y(:,1),’LineWidth’,2); grid; ylabel(’ydot, m/s’); subplot(212); plot(t,y(:,2),’LineWidth’,2); grid; ylabel(’y, m’); xlabel(’time, seconds’); function [ydot] = func(t,y) ; % all units MKS m = 40 ; % mass k = 10400 ; % spring constant g = 9.81 ; % gravity b = 35 ; % spring damping % first state is vertical velocity, second is position if y(2) < 0, % the spring is in action ... ydot(1,1) = 1/m * ( -k*y(2) - b*y(1)) - g ; else, % ... or not ydot(1,1) = -g ; end; ydot(2,1) = y(1) ; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%15 BOUNCING ROBOT 39 −2 −1 0 1 2 ydot, m/s 0 1 2 3 4 5 6 7 8 9 10 −0.2 −0.15 −0.1 −0.05 0 0.05 0.1 0.15 y, m 0 1 2 3 4 5 6 7 8 9 10 time, secondsMIT OpenCourseWarehttp://ocw.mit.edu 2.017J Design of Electromechanical Robotic Systems Fall 2009 For information about citing these materials or our Terms of Use, visit:
View Full Document