The Flying Bobs ride is commonly found at carnivals and amusement parks around the world. It consists of a set of arms, extending radially from a central shaft. A car hangs freely at the end of each pair of arms, and is free to rotate about an axis tangent to the path of travel. The arms contain roller followers that rest on a stationary curved track, which acts as a disk cam. As the central shaft rotates, the changing height of the cam profile causes to cars to swing out sideways as they travel around the profile of the cam.
Problem Statement and Assumptions
For the sake of simplicity, the free swinging motion of the car will be neglected to reduce the system down to a single degree of freedom. The ride is typically designed to swing the riders to a maximum angle of 90 degrees when the rotation of the central shaft has reached its peak angular velocity. When the car is at maximum swing, the vertical component of the acceleration at the tip of the arm is assumed to be equal and opposite to the acceleration due to gravity. The goal of this project is to design a disk cam profile based on this specified acceleration, along with the constant angular velocity of the central shaft and the radius of the disk cam. The profile is assumed to follow a sinusoidal curve with two periods, so the maximum and minimum accelerations will occur at the lowest and highest points of the track respectively.
Methods and Calculations
The following Matlab code is used to solve for the profile of the cam, which outputs a three-dimensional graph to represent both the shape of the track and the path followed by the end of the follower arm, as well as a two-dimensional graph of these two curves with respect to the angle of rotation.
From the official technical specifications2, the input angular velocity was found to be 14 rpm.
The ride's dimensions were also approximated from the images and data provided.
The cam profile is evaluated at 128 points.
%Wes Drennan %DOM II %10/6/2010 %Cam Design: Flying Bobs Carnival Ride clc clear all %Assume simple harmonic motion of follower arm with respect to angle theta %Independent Variables:--------------------- %Radii and angular velocity from source below: %<http://www.bertazzon-america.com/matterhorn.php> %radius to cam surface (m) r1= 6.096 ; %radius to cars (m) r2= 8.2296 ; %angular velocity (rpm) omega= 14 ; %height of follower at pivot point (m) z0= 3 ; %number of iterations of theta iter= 128 ; %acceleration due to gravity (m/s^2) g= 9.80 ; %------------------------------------------- omega_rad=omega*2*pi/60; %(rad/s) beta=2*pi/8; L=(g*(1/omega_rad^2)*4*(beta^2)/(pi^2)); i=[1:iter+1]; theta=2*pi.*i/iter; %z0 redefined to optimize pressure angle z0= L ; P_prime=L*(1-cos(2.*theta)); figure (1) plot(theta,P_prime,'--') axis([0 2*pi 0 2*L]) hold; P=r1.*(P_prime-z0)/r2+z0; figure (1) plot(theta,P) xlabel('theta(rad)') ylabel('P(m)') legend('end of follower arm','cam surface') hold off; x1=r1.*cos(theta); y1=r1*sin(theta); x2=r2.*cos(theta); y2=r2*sin(theta); z= L*(1-cos(pi.*theta/(2*beta))); figure (2) plot3(x1,y1,P,'.-') hold; plot3(x2,y2,z,'-') axis ([-r2 r2 -r2 r2 0 2*r2]) pbaspect([1 1 1]) grid on %show platform and vert. support lines for i=[1:1:iter+1]; plot3([x1(i) x1(i)],[y1(i) y1(i)],[0 P(i)]) plot3([x1(i) x2(i)],[y1(i) y2(i)],[P(i) z(i)]) end %show follower lines for i=[1:8:iter+1]; plot3([0 x1(i)],[0 y1(i)],[z0 P(i)]) end xlabel('x(m)') ylabel('y(m)') zlabel('z(m)') legend('inner ring = cam surface', 'outer ring = end of follower arm') clc %accerleration(g) at end of follower arm a_c=r2*(omega_rad^2); fprintf('Measured at end of follower arm') fprintf('Neglecting swinging movement of cars') accel_g_min=sqrt(a_c^2+g^2)/g accel_g_max=sqrt(a_c^2+(2*g)^2)/g
Based on the input parameters included in the code above, the following graphs were produced to define the cam profile:
The code also outputs the minimum and maximum accelerations at the tip of the arm (measured in multiples of g), which occur at the highest peak and lowest valley respectively on the cam's profile.
Measured at end of follower arm, Neglecting swinging movement of cars accel_g_min = 2.0635 accel_g_max = 2.6940
The resulting value of 2 meters for the maximum height of the cam coincides with the height of the actual ride based on the source images, so the original approximation of zero vertical acceleration at the peaks seems to be a valid assumption.
The values of acceleration, which fluctuate between approximately 2.1 and 2.7 g (positive vertical acceleration from the perspective of the seated passenger) are well within the limits of human comfort. Based on personal experience, these values seem to be in accordance with the accelerations typically produced by the actual ride.