|
Re: PID on a one directional Shooter
If your controller is overshooting your setpoint as you are describing then you could have an underdamped system. You can add some damping by implementing D control. To understand why, you can think about your system as a free swinging frictionless pendulum. With no damping, the pendulum will continuously swing and will settle on a set point. If you add a little damping (e.g. friction) the pendulum will eventually settle on a point. Add enough friction and the pendulum will swing directly to a point without overshooting at all. You can think of D control like adding virtual friction to your system. You'll notice that the equation for D control and the equation for friction are the same with your D gain equivalent to the coefficient of friction.
However, unless you have a relatively heavy wheel with low friction bearings I would suspect that the mechanical system itself has enough damping to prevent the kind of rail to rail oscillation that you are referring to. I would guess that P control is sufficient. When you say "extremely low" for your P gain, what do you mean? How "high" or "low" this value is would depend on the units you are using for your inputs and outputs. Don't be afraid to set this value even lower. I believe my students tuned our robot's shooter with a P gain in the 1e-5 range.
I hope this is helpful.
|