Quote:
Originally Posted by thatprogrammer
A few questions (just started taking physics this year, apologizes if any of these questions have obvious answers that I haven't learned yet).
1. How did you determine the multiplier required to allow the arm to cancel out gravity?
2. How does multiplying by the cosine of the angle of the arm result in a linear system? Isn't cosine non-linear by definition?
3. Why do you not simple scale your voltage multiplier in proportion to the angle of the arm?
Thanks for all your help!
|
If you work out the physics, you'll get the following:
torque = J * angular_acceleration + r cross F_gravity
F_gravity cross r -> F_gravity * r * cos(theta)
So, you get
torque = J * d^2 (theta) /dt^2 + F_gravity * r * cos(theta)
When linearizing, you want to convert your system to be linear. The only nonlinear term above (assuming that torque is your input, which is a reasonable assumption for now) is the F_gravity * r * cos(theta). So, if we define
torque = torque_linear + F_gravity * r * cos(theta)
And then do a variable substitution, we get a linear system back. i.e.
torque_linear = J * d^2 (theta) /dt^2
Yay! (I think this answers 2 and 3).
As long as you aren't too far off, your system will work just fine with the wrong gain. One way to do it would be to measure the voltage required to hold your arm horizontal, and use that as the coefficient. We've traditionally ignored this term and let the rest of the loop take up the slack.