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,θ,ϕ,ψ), 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, θ representing the angle from (x,y) to the point where the disk touches the ground, ϕ representing the angle from the xy plane to the actual (x,y,z) center of the disk (so, if ϕ=0 the disk is flat, and if ϕ=π/2 the disk is vertical), and ψ 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,rsin(ϕ))Rxy(θ)Rxz(−ϕ)Rxy(ϕ)→v
(where T is a translation, Rxy 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,˙x,y,˙y,ϕ,˙ϕ 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 ψ 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)
∂x∂ψ=−rsin(θ),∂y∂ψ=rcos(θ)
2 Rotating θ, the point where the disk touches the ground, without changing x, y, or ϕ. psi must change according to:
∂ψ∂θ=−cos(ϕ)
3 Changing the vertical angle of the disk, ϕ, and having the point of contact stay the same (as well as θ, ψ constant), x and y must change according to:
∂x∂ϕ=−rcos(θ)sin(ϕ),∂y∂ϕ=−rsin(θ)sin(ϕ)
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.
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: v1=(x−rcos(θ)cos(ϕ),y−rsin(θ)cos(ϕ))
With these I can successfully apply the methods of variational calculus and get a physical solution!
No comments:
Post a Comment