Classical Mechanics – How to Combine Equations of Constraints?

classical-mechanicslagrangian-formalismrigid-body-dynamics

I want to model a nonholonomic system of an arbitrary rotating disk in 3D, which rolls without slipping, and doesn't have to stay vertical. (think spinning a penny on the table) I want to use the method I just learned of Lagrange multipliers with the Euler-Lagrange equations to solve the system.

I can parameterize the system in terms of $(x,y,\theta,\phi,\psi)$, and I can come up with several equations of constraint if I let two (or three, with $(x,y)$ changing as a pair) variables change at a time and hold the others constant. I'm using mathematica so I can afford to have unweildy representations and painful integrals.

I wanted $(x,y)$ representing the position of the center of the disk in the horizontal plane, $\theta$ representing the angle from $(x,y)$ to the point where the disk touches the ground, $\phi$ representing the angle from the xy plane to the actual (x,y,z) center of the disk (so, if $\phi=0$ the disk is flat, and if $\phi=\pi/2$ the disk is vertical), and $\psi$ representing the angle of the disk around the axis normal to its face. I wound up on the following linear transformation, which takes a stationary point on the disk's space into world space:
$T(x,y,r \sin(\phi)) R_{xy}(\theta)R_{xz}(-\phi) R_{xy}(\phi) \vec{v}$

(where $T$ is a translation, $R_{xy}$ is a rotation in the xy plane etc)

This works perfectly and I can actually come up with the kinetic energy in terms of $x,\dot{x}, y,\dot{y},\phi, \dot{\phi}$ etc.


So now where the nonholomic part comes in, I need to find the equations of constraint. The only constraint is rolling without slipping. I can find equations with partial derivatives (say, I let x and y vary as I change $\psi$ and hold all other variables constant), but these are just partial constraints and don't represent the true differentials governing the constraints. How can I find the true differentials? My sets of equations are:

1 Rotating the disk normal to its face (exactly like spinning a wheel)

$\frac{\partial x}{\partial \psi} =-r \sin (\theta ),
\frac{ \partial y}{\partial\psi }=r \cos (\theta )$

2 Rotating $\theta$, the point where the disk touches the ground, without changing x, y, or $\phi$. $psi$ must change according to:

$\frac{\partial\psi}{\partial\theta} =-\cos (\phi )$

3 Changing the vertical angle of the disk, $\phi$, and having the point of contact stay the same (as well as $\theta$, $\psi$ constant), $x$ and $y$ must change according to:

$\frac{\partial x} {\partial\phi} =-r \cos (\theta ) \sin (\phi ),
\frac{ \partial y} {\partial\phi} =-r \sin (\theta ) \sin (\phi )$

How can I combine these equations into full differentials for use in Lagrange multipliers with the Euler-Lagrange equations?

Animated Visualizations

Just to show what the parameters mean and what the constraint equations mean in case there's something technically wrong:

(the animations seem to freeze. If one isn't moving try dragging it to a new tab)

Adjusting the parameters on the transformation equation:
changing parameters

Applying partial constraint 1 to visualize rolling without slipping

constraint 1

Visualizing partial constraint 2

constraint 3

Visualizing constraint 3

constraint 2


note: I'm pretty new to Lagrangian mechanics, on chapter two of Goldstein classical mechanics, but I don't see a reason why I can't apply everything I've learned (just what I've mentioned) to this problem.

Best Answer

The solution is much easier than I anticipated. I thought the simplest method wouldn't work and that it wouldn't take into account certain things, but taking a second look I see that it works.

The point of contact with the ground (staying consistent with the rotation matrix definition above) is: $$\mathbf{v_1}=(x-r \cos(\theta) \cos(\phi),y-r \sin(\theta) \cos(\phi))$$ A bit of movement of a point there can be equated to a wheel moving in the direction orthogonal to theta and "forwards", of magnitude $r d\psi$: $$d\mathbf{v_2}=(-r\sin(\theta) d\psi,r \cos(\theta) d \psi))$$ We should have $d\mathbf{v_1}=d\mathbf{v_2}$. Expanding everything gives: $$0=r \sin(\theta)d\psi+dx+r \sin(\theta) \cos(\phi) d\theta+r \cos(\theta) \sin(\phi) d\phi$$ $$0=-r \cos(\theta) d \psi +dy-r \cos(\theta) \cos(\phi) d\theta+r \sin(\theta)\sin(\phi)d \phi$$

With these I can successfully apply the methods of variational calculus and get a physical solution! Spinning disk solution

Related Question