Quote:
Originally Posted by Ether
Did you get the same disconcerting results with a Victor?
|
Oops.
The programming group is using a drivebase built out of the Kit chassis this year. Its drive wheels are controlled using Talons, and the actual robot has Talons installed for the shooter motors, and that's what I was thinking of when I answered the question.
However, the shooter test rig on the Kit 'bot was wired up using Victors. I'm sorry for the bad data.
Quote:
Originally Posted by AdamHeard
Very impressive it the performance is truly comparable.
Are you doing PID on velocity itself?
Is it output = PID, or output += PID?
Are you using all three terms?
Are you limiting the motor to never allow a negative power applied?
|
Both the setpoint and process variables are in values of "kRPM".
After we discussed the fine points of position vs. velocity control, I believe the student doing the programming chose to send the output of the PID computation directly to the motor rather than doing a post-PID integration. I was busy with other tasks while he was tuning it, but I'm pretty sure the D constant ended up being zero, and the P constant is probably negligibly small. Most of it is I, as one would expect from a velocity PID.
The output is indeed limited to never apply power the motor in the "wrong" direction. There is a use case where the shooter motors must be run in reverse, so the control software keeps the output either positive or negative as appropriate, based on the polarity of the desired velocity.