Cylinder rolling in a vertically sprung groove
A circular cylinder of radius $r$ and mass $m$ rolls without slipping inside a semicircular groove of radius $R$. The groove, of mass $M$, rests on a spring of stiffness $k$ and slides vertically without friction. The coordinates are the groove displacement $y$ and the angle $\theta$ of the cylinder from the vertical. Find the equations of motion, including small oscillations.
Explanation of Method
Write the kinetic and potential energy and apply Lagrange's equations, then correct the rotational inertia and the factors the paper drops. The simulator compares the paper's model with the corrected one and shows the contact force and the parametric resonance.
A cylinder rolls without slipping inside a semicircular groove. The groove is cut into a block that slides vertically between guides and rests on a spring. The paper derives the equations with the Lagrangian method and simulates them in Simulink. Several terms are wrong: the cylinder's rotational inertia, two factors of ½, and three terms in the equations of motion. The corrected model reveals behaviour the paper misses. To first order the two motions are independent. Their nonlinear coupling, however, can make the cylinder's oscillation grow by itself (parametric resonance). The interactive simulator shows the paper's model, the corrected model, the contact force and this resonance.
Problem statement
A circular cylinder of radius \(r\) and mass \(m\) rolls without slipping inside a semicircular groove of radius \(R\). The groove (mass \(M\)) is supported by a spring of stiffness \(k\) and moves without friction in the vertical direction, as shown in the figure. Determine the equations of motion of the system, and also consider the case of small oscillations.
- The generalized coordinates are the vertical displacement \(y\) of the groove and the angle \(\theta\) of the line from the groove centre \(O\) to the cylinder's centre, measured from the vertical.
- The cylinder's centre moves on a circle of radius \(R-r\) around \(O\).
- The cylinder is a homogeneous solid cylinder, \(I_c = \tfrac12 mr^2\).
There is no friction in the guides and no damping. The friction between cylinder and groove does no work, because the contact point does not slip.
Energies of the system
Translation of the cylinder
With the groove centre at height \(y\), the cylinder's centre is at \(\big((R-r)\sin\theta,\ y-(R-r)\cos\theta\big)\). Its speed relative to the groove is \(v = (R-r)\dot\theta\), tangent to the circle. The paper splits it into components and adds the groove's vertical velocity:
This is correct.
Rotation of the cylinder
The paper uses the rolling condition \(\varphi r = \theta R\), so \(\dot\varphi = \frac Rr\dot\theta\) and
Groove and total kinetic coenergy
The paper writes \(\mathcal{R}^*_M = M\dot y^2\), without the factor ½. The correct total is
Potential energy
The cylinder's centre is lower than \(O\) by \((R-r)\cos\theta\), i.e. it rises by \(d = (R-r)(1-\cos\theta)\) above its lowest position. The paper writes \(\mathcal{A}_\text{elast} = ky^2\) (again without ½). For the groove it uses a constant \(-Mgh\), so the gravity terms in \(y\) are absent. That is correct only if \(y\) is measured from the static equilibrium, where the spring's pre-load balances \((M+m)g\). The paper does not say so. With that convention:
Equations of motion
The paper's equations
Correct derivation
From \(\mathcal{L} = \mathcal{R}^* - \mathcal{A}\) with (1) and (2):
The term \(m(R-r)\dot y\dot\theta\cos\theta\) appears in both \(\frac{d}{dt}\frac{\partial\mathcal{L}}{\partial\dot\theta}\) and \(\frac{\partial\mathcal{L}}{\partial\theta}\) and cancels:
Equation (3) has a clear meaning. In the accelerating frame of the groove, the cylinder rolls under an effective gravity \(g+\ddot y\). The factor \(\tfrac32\) is the familiar rolling factor \(1 + I_c/(mr^2)\). Equation (4) says the spring must move the total mass and also supply the vertical acceleration of the cylinder's centre, \((R-r)(\ddot\theta\sin\theta+\dot\theta^2\cos\theta)\).
Contact force
The model is valid only while the cylinder presses on the groove. The radial equation in the groove frame gives the normal force, and the rotation equation gives the friction force needed for rolling:
If the groove accelerates downward faster than \(g\), \(N\) can become negative. The cylinder would then lift off, and the equations no longer apply. The simulator checks this.
Small oscillations
The paper replaces \(\sin\theta\) by \(\theta\) and \(\cos\theta\) by 1, but keeps products such as \(\dot y\theta\), \(\dot y\dot\theta\) and \(\ddot\theta\,\theta\):
These products are of second order in small quantities and must be dropped in a linearization. The consistent linear model of (3)–(4) is
To first order the two motions are completely independent. A sideways roll of the cylinder pushes the groove only through \(\theta\ddot\theta\) and \(\dot\theta^2\), and the groove's motion affects the cylinder only through the product \(\ddot y\,\theta\). This weak coupling is not negligible in all cases: see section 7.
Simulink models and results
The paper sets the parameters in an m-file and builds two Simulink models:
- Model 1 (nonlinear, with sin/cos blocks and dot products): \(m=0.5\), \(M=5\), \(R=0.3\), \(r=0.03\), \(k=100\).
- Model 2 (small oscillations, no trigonometric blocks): \(m=1\), \(M=5\), \(R=3\), \(r=0.5\), \(k=100\).
Each result is shown twice: in a scope with range ±5, where the curves are almost flat, and zoomed in. The plots have no labels. Comparison with the models shows that the upper trace is \(\theta\) and the lower one is \(y\). The initial values read from the plots are \(\theta(0)=0.5\) rad, \(y(0)=0.1\) m for model 1 and \(\theta(0)=0.1\) rad, \(y(0)=0.2\) m for model 2, both released from rest. The paper gives no interpretation of the results.
| Period read from the plot | Paper's equations | Correct model | |
|---|---|---|---|
| Model 1, θ: ≈ 1.35 s | 1.35 s | 1.29 s | |
| Model 1, y: ≈ 1.45 s | 1.44 s | 1.47 s | |
| Model 2, θ: ≈ 4.17 s | 4.18 s | ≈ 3.75 s (3.88 s linear) | |
| Model 2, y: ≈ 0.77 s | 1.47 s | 1.54 s |
The θ periods confirm that the Simulink models implement the paper's equations, including the wrong rotational inertia. In model 2 the difference is 11 %. The y-oscillation of model 2 is about twice as fast as either set of equations predicts, so a gain in that diagram must differ from the stated parameters. The gain values are not given in the paper, so the cause cannot be identified.
Critical review
Rotational inertia: \(R\) instead of \(R-r\)
The rolling relation must give the cylinder's absolute angular velocity, \(\omega_c = (R-r)\dot\theta/r\) (section 2). The paper's \(\tfrac12mR^2\ddot\theta\) should be \(\tfrac12m(R-r)^2\ddot\theta\). The cylinder then appears heavier in rotation than it is, and the rolling frequency is too low. The error grows with \(r/R\): the small-angle period comes out about 4 % too long for model 1 (\(r/R=0.1\)) and 7 % too long for model 2 (\(r/R=0.17\)).
Missing factors ½
\(\mathcal{R}^*_M = M\dot y^2\) and \(\mathcal{A}_\text{elast} = ky^2\) should both carry ½. Because both are doubled, the groove alone still has the right frequency \(\sqrt{k/M}\). In the coupled system, however, the groove's mass appears twice as large compared with the cylinder's: \((m+2M)\ddot y + 2ky\) instead of \((M+m)\ddot y + ky\).
Three wrong terms in the equations of motion
- In the θ-equation the coupling term is \(m(R-r)\,\ddot y\sin\theta\) (acceleration), not \(m(R-r)\,\dot y\sin\theta\) (velocity). As written, the term even has the wrong units.
- The term \(-m(R-r)\dot y\dot\theta\cos\theta\) should cancel against the same term in \(\partial\mathcal{L}/\partial\theta\). It remains in the paper.
- In the y-equation the centripetal term \(m(R-r)\dot\theta^2\cos\theta\), from differentiating \(\dot\theta\sin\theta\), is missing.
Linearization keeps nonlinear terms
The "small-oscillation" equations still contain the products \(\dot y\theta\), \(\dot y\dot\theta\) and \(\ddot\theta\theta\). A consistent linearization (5) drops them and shows that the two motions decouple. This is the key physical result, and the paper does not mention it.
Smaller points
The paper never states that \(y\) is measured from the static equilibrium (which justifies leaving out gravity in \(y\)). The initial conditions are not stated. The plots have no labels and are shown twice at an unsuitable scale. There is no discussion of the results, the contact force or the validity range: the cylinder must stay in contact with the groove (\(N>0\)) and stay inside it (\(|\theta|<90^\circ\) for a semicircular groove).
Extension: parametric resonance
Equation (3) shows that the vertical motion of the groove modulates the effective gravity felt by the cylinder. If the groove oscillates as \(y = Y\cos\omega_y t\), then for small \(\theta\)
This is the Mathieu equation. The "stiffness" of the cylinder's oscillation is pumped periodically. When the groove oscillates at twice the rolling frequency, \(\omega_y \approx 2\omega_\theta\), the cylinder's oscillation grows exponentially from an arbitrarily small start. It is the same mechanism as pumping a swing by standing up and squatting. Energy flows from the groove into the rolling motion until the nonlinearity detunes the resonance.
Example (preset "Parametric"): \(m=0.5\), \(M=5\), \(R=0.6\), \(r=0.1\) gives \(\omega_\theta = 3.62\) rad/s. With \(k = 288\) N/m, \(\omega_y = 7.23 \approx 2\omega_\theta\). Starting from \(\theta(0)=1^\circ\) and \(y(0)=5\) cm, the cylinder's swing grows to about 31° within 18 s. With \(k=200\) or \(k=400\) (detuned) it stays below 2°. The linear model (5) cannot show this at all, and neither can the paper's equations, which have the wrong coupling term.
Interactive simulator
The simulator solves the equations numerically (4th-order Runge–Kutta, 1 ms step). For the correct models it also computes the normal and friction forces between cylinder and groove, and it warns when the cylinder would lose contact or leave the groove.
Cases
System parameters
y is measured from the static equilibrium. Angle fields accept expressions, e.g. 0.5*180/pi for 0.5 rad.
Results table (every 0.05 s)
Review questions
Why is the cylinder's angular velocity \((R-r)\dot\theta/r\) and not \(R\dot\theta/r\)?
The arc condition \(r\varphi = R\theta\) measures the cylinder's rotation relative to the moving line from \(O\) to its centre. That line itself turns by \(\theta\), so the absolute rotation is \(\varphi - \theta = (R-r)\theta/r\). Check: the contact point is at rest, so \(r\omega_c\) must equal the centre's speed \((R-r)\dot\theta\).
Why can gravity be left out of the \(y\)-equation?
The spring is linear, so its force at the static equilibrium exactly balances the constant weight \((M+m)g\). Measuring \(y\) from that equilibrium removes both. This must be stated, because \(y=0\) is then not the unstretched spring.
What does the term \((g+\ddot y)\) in equation (3) mean physically?
In the groove's accelerating frame the cylinder feels an inertial force \(-m\ddot y\) in addition to gravity. When the groove accelerates upward, the cylinder "feels heavier" and rolls faster; when it accelerates downward, it feels lighter.
Why are the linearized equations decoupled?
A small sideways displacement of the cylinder changes its height only to second order, \((R-r)\theta^2/2\). Vertical forces between groove and cylinder therefore depend on \(\theta\) only at second order. The groove's motion enters the cylinder's equation only through \(\ddot y\,\theta\), also a product of small quantities.
When does parametric resonance occur, and why can't a linear model show it?
When the groove's frequency is close to twice the rolling frequency (\(\omega_y\approx2\omega_\theta\)). The mechanism is the product \(\ddot y\,\theta\), a time-varying stiffness, which a linearization removes.
When does the cylinder lose contact with the groove?
When \(N = m[(g+\ddot y)\cos\theta + (R-r)\dot\theta^2] < 0\), essentially when the groove accelerates downward faster than \(g\). For harmonic motion of the groove this happens if \(\omega_y^2Y > g\).