|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
||||
|
||||
|
Re: paper: Team 1114 Controls and Programming Overview 2012
Quote:
[edit1] Hat tip to Joe Ross: In Excel, cell E1 can be coded directly as sumxmy2(B1:B20,C1:C20) instead of creating cells D1:D20 (if a least-squares fit objective function is desired). [/edit1]] [edit2] Note that not only the model but also the objective function is user-configurable using the tools|solver modeling technique. For example, suppose that instead of minimizing the sum of the squares of the model errors (least squares fit) you want to find the parameters which produce the minimum maximum absolute error. This is easily accomplished by making cells D1:D20 equal to the absolute model error (for each data point), and making cell E1 equal to the maximum of cells D:D20. Then use tools|solver to minimize cell E1. Note: this does not work well (or at all) in Excel because of the algorithms used; and in OpenOffice takes several minutes (instead of seconds) but does find a solution. For the spreadsheet linked in this post, OO3.3 found the following solution for minimum maximum error: y = -0.2651 -0.419013/(x-1.3281551). Here's a graph of the solution. The solid black line is the raw data. The dashed black line is the inverted data. The solid red line is the linearization function, which uses only 2 adds and 1 divide. [/edit2] Last edited by Ether : 15-05-2012 at 16:49. |
|
#2
|
||||
|
||||
|
Re: paper: Team 1114 Controls and Programming Overview 2012
Wow, thanks for this!
Could you also post the data you used to develop your linearization code? I'd like to compare it to other data I've found around. |
|
#3
|
||||
|
||||
|
Re: paper: Team 1114 Controls and Programming Overview 2012
Why would you want to reduce the d constant of PID in certain circumstances for speed PID?
|
|
#4
|
||||
|
||||
|
Re: paper: Team 1114 Controls and Programming Overview 2012
![]() Quote:
"Different from standard PID control. Instead of the PID calculation setting the output, the PID calculation is an adjustment to the output o output = output + calcPID(currentSpeed) " ? But if I had to guess, I know that (at least for our power wheel)... the more momentum and kinetic energy built up on higher speeds the less P is needed... but I cannot see yet how that equates to D except that if D is too high it will reverse oscillate. We too had to use a large D though. This attachment is P=4 and D=7. Where magenta is the predicted velocity, Cyan is the encoder velocity, green is the voltage, and yellow is the PID in action. I'm still trying to master PID... I'd love to get it down to a 2 radian per second tolerance like 1114 has done! We are around 20 radians tolerance. |
|
#5
|
||||
|
||||
|
Re: paper: Team 1114 Controls and Programming Overview 2012
Quote:
If that is the case, the Victor calibration data I used came from the 1114's paper (the subject of this thread), on page 3 (the red dots). Is that what you were asking? If so, the data is in the spreadsheets in cells A1:B20. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|