- #1
joey_ra
- 10
- 2
Thread moved from the technical forums to the schoolwork forums
TL;DR Summary: Ball in a moving circular bowl. No friction. Assume the mass has no effect to bowl acceleration. Ball is modeled as a pointmass (no rolling). Cartesian coordinates
Hey :)
I have a question regarding a mechanical problem. I want to simulate a ball in a moving circular bowl. The dynamics of a ball in a circular bowl that is not moving can be derived in cartesian coordinates (unfortunately I need it in cartesian coordinates) via lagrangian multiplier like shown here on the last slide: https://users.physics.ox.ac.uk/~harnew/lectures/lecture26-mechanics-handout.pdf
to sum it up:
x_ddot = -(lambda/m) * (x/r)
y_ddot = -(lambda/m) * (y/r) - g
where lambda is the normal force that basically constraints the ball to stay on the bowl, g is gravity, r is the radius of the bowl and m is the mass of the ball.
Now that my bowl is moving I added a tangent acceleration to x_ddot and y_ddot due to the acceleration of the bowl like this:
x_ddot = -(lambda/m) * (x/r) - [(Fx * y + Fy * x) / r] * (y/r) // this is the acceleration of the ball
y_ddot = -(lambda/m) * (y/r) - [(Fx * y + Fy * x) / r] * (x/r) - g
where Fx and Fy can be seen as the force acting on the bowl to push it. I'm modeling it like the mass of ball has no effect on the bowl acceleration so Fx and Fy is equal to the acceleration of the bowl (assuming the Mass M of the bowl is 1). Here I only take into account the tangent acceleration of the ball due to the bowl movement. I'm running an optimal control problem where I constraint the ball to stay on the bowl. I introduced lambda as an optimization variable so the optimizer finds the correct normal force such that the ball stays on the bowl. Therefore I don't model an additional normal force on the ball based on the bowl acceleration cause this is in lambda integrated (so i only added the tangent acceleration).
The results in the simulation look good but I want to have a second opinion from some experts on my approach ;)
Because I think there is a better way to model the problem.
not that x/r = cos(phi), y/r = sin(phi) the phi is the angle between y axis and ball position.
Hey :)
I have a question regarding a mechanical problem. I want to simulate a ball in a moving circular bowl. The dynamics of a ball in a circular bowl that is not moving can be derived in cartesian coordinates (unfortunately I need it in cartesian coordinates) via lagrangian multiplier like shown here on the last slide: https://users.physics.ox.ac.uk/~harnew/lectures/lecture26-mechanics-handout.pdf
to sum it up:
x_ddot = -(lambda/m) * (x/r)
y_ddot = -(lambda/m) * (y/r) - g
where lambda is the normal force that basically constraints the ball to stay on the bowl, g is gravity, r is the radius of the bowl and m is the mass of the ball.
Now that my bowl is moving I added a tangent acceleration to x_ddot and y_ddot due to the acceleration of the bowl like this:
x_ddot = -(lambda/m) * (x/r) - [(Fx * y + Fy * x) / r] * (y/r) // this is the acceleration of the ball
y_ddot = -(lambda/m) * (y/r) - [(Fx * y + Fy * x) / r] * (x/r) - g
where Fx and Fy can be seen as the force acting on the bowl to push it. I'm modeling it like the mass of ball has no effect on the bowl acceleration so Fx and Fy is equal to the acceleration of the bowl (assuming the Mass M of the bowl is 1). Here I only take into account the tangent acceleration of the ball due to the bowl movement. I'm running an optimal control problem where I constraint the ball to stay on the bowl. I introduced lambda as an optimization variable so the optimizer finds the correct normal force such that the ball stays on the bowl. Therefore I don't model an additional normal force on the ball based on the bowl acceleration cause this is in lambda integrated (so i only added the tangent acceleration).
The results in the simulation look good but I want to have a second opinion from some experts on my approach ;)
Because I think there is a better way to model the problem.
not that x/r = cos(phi), y/r = sin(phi) the phi is the angle between y axis and ball position.