|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
Tuning PID Parameters
So I just got back from a fairly long conversation about tuning PID parameters and other closed-loop control systems, and am wondering how most of you guys do it.
The key item of debate was whether or not it would be better to tune the P gain first (that is, start with I and D gains set to zero, as per the Ziegler-Nichols method), or to algorithmically relate P and I to D and a damping factor. |
|
#2
|
|||
|
|||
|
Re: Tuning PID Parameters
Easiest way: do both and find which works the best. I mean, it won't take more than 30 minutes...
|
|
#3
|
|||
|
|||
|
Re: Tuning PID Parameters
Sadly, as a tradition, our team usually doesn't finish / assemble the robot 'till well after ship date, so our tuning tends to occur during 15-minute practice field runs.
It's thus a little difficult to test both xD. |
|
#4
|
|||
|
|||
|
Re: Tuning PID Parameters
LA Regional? I'll be there, I probably can help. Thursday does not count for anything and you pretty much have all day between inspection and all that.
|
|
#5
|
|||
|
|||
|
Re: Tuning PID Parameters
Nah, we'll be at NYC first, and then SVR
And the question isn't so much whether or not we can do the tuning (we have in the past), but more whether or not there's a tangible benefit in the more complex derivative-based method. |
|
#6
|
|||
|
|||
|
Re: Tuning PID Parameters
Probably time, any way you do it, you will get the same constants ± a tiny fraction
|
|
#7
|
||||
|
||||
|
Re: Tuning PID Parameters
We always start with P, because frankly, a well tuned "P" term can almost completely negate the need for I and D. In fact, we've never had to use an I or D term on any of our robots.
|
|
#8
|
||||
|
||||
|
Re: Tuning PID Parameters
Quote:
|
|
#9
|
|||||
|
|||||
|
Re: Tuning PID Parameters
In the past two years, we never used an I or D term (except for a controller that was I only...)
For VRC this fall, on the Cortex controller, we worked with the Zeigler-Nichols method to get good PID gains for our arms. It worked really really well, as we calibrated with one game piece in, so the mass changes with none or two game pieces (most use cases in that game) wasn't very bad. After writing all of the spreadsheets to calculate the gains (and figuring out that the equations give you integral and derivative time instead of gain), I just did a data capture on the serial port, found some data in Excel (space delimited text FTW!), punched the gains back in, and it ran beautifully. I've always manually found a good P-only gain anyway, so increasing kP until the system oscillates isn't very hard and doesn't take much time. |
|
#10
|
|||||
|
|||||
|
Re: Tuning PID Parameters
Quote:
And when we tune our constants, we do use the Ziegler–Nichols method. |
|
#11
|
|||
|
|||
|
Re: Tuning PID Parameters
Thanks for the responses--I'll bring them up in the next discussion we have. It's nice to know I'm not the only person using Z-N for tuning =)
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|