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:
Applying partial constraint 1 to visualize rolling without slipping
Visualizing partial constraint 2
Visualizing constraint 3
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.