|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools |
Rating:
|
Display Modes |
|
#16
|
||||
|
||||
|
Re: Autonomous: Mixing Drive Distance PID's with Turn Angle PID's.
Quote:
I got a pretty nice fit using just 2 cubics by splitting the curve into 2 sections. See attached screenshot. Cells A2-A21 and C2-C21 are pulse and volts data from the link you provided. I normalized that data to the range +/-1 for command and output in cells B2-B21 and D2-D21. I copied the positive half of the curve to cells A27-B38, reversing the cmd & out to get the inverse function, and divided it into 2 sections: cells E27-F33 and E35-F41. Then I fit a cubic to each section. The equations are in the two graphs at the bottom. I spliced the 2 cubics together and you can see the net result at the top. It's a pretty nice fit, and for not much math. To use it, test your desired (positive) command. If it's less than 0.842 use the first cubic, otherwise use the second. If it's zero, use zero. You could use the same cubics for the negative half of the curve, or create new curves for that half. Last edited by Ether : 17-11-2011 at 18:00. Reason: typo |
|
#17
|
||||
|
||||
|
Re: Autonomous: Mixing Drive Distance PID's with Turn Angle PID's.
Thanks guys. It's been a long time since I've had one of those AH HA! moments.....
I guess I never realized how far from linear the Victors can be. We've used joystick input modification VI's in the past to make the bots easier to drive, but I never put 2 and 2 together and realized a huge portion of that issue is caused by the Victor's response. We noticed last year that the logitech dual action game pad (at least one of them) had a hokey joystick that wasn't even close to linear. We threw that one away, but after modeling the cim response like this, I'm almost tempted to do the same to the game pad joysticks so I can linearize them too. Here's my final result using a single 6th order polynomial. Darn do I love learning. (Note: The numbers between .08 and -.08 are not representative in this graph - those are our dead band and will be modified to zero output). Last edited by Tom Line : 17-11-2011 at 19:25. |
|
#18
|
|||||
|
|||||
|
Re: Autonomous: Mixing Drive Distance PID's with Turn Angle PID's.
Pertinent response RE: 5th and 7th order polynomials here: http://www.chiefdelphi.com/forums/sh...t=98267&page=2
|
|
#19
|
||||
|
||||
|
Re: Autonomous: Mixing Drive Distance PID's with Turn Angle PID's.
The Victor data from the link Joe provided: Code:
pulse volts 1.04 -12 1.07 -11.99 1.12 -11.7 1.27 -11.27 1.36 -10.12 1.41 -8.52 1.46 -3.8 1.48 -0.8 1.49 0 1.55 0 1.56 0.8 1.58 2.8 1.6 5.4 1.65 8.9 1.7 10.1 1.75 10.87 1.8 11.25 1.85 11.55 1.9 11.8 2 12 Code:
cmd out -1 -1 -0.9375 -0.999166667 -0.833333333 -0.975 -0.520833333 -0.939166667 -0.333333333 -0.843333333 -0.229166667 -0.71 -0.125 -0.316666667 -0.083333333 -0.066666667 -0.0625 0 0.0625 0 0.083333333 0.066666667 0.125 0.233333333 0.166666667 0.45 0.270833333 0.741666667 0.375 0.841666667 0.479166667 0.905833333 0.583333333 0.9375 0.6875 0.9625 0.791666667 0.983333333 1 1 (to get inverse function for linearization) and select only the positive commands: Code:
out cmd 0 0.0625 0.066666667 0.083333333 0.233333333 0.125 0.45 0.166666667 0.741666667 0.270833333 0.841666667 0.375 0.905833333 0.479166667 0.9375 0.583333333 0.9625 0.6875 0.983333333 0.791666667 1 1 Fit a rational function model to the data: Code:
(p1*x^4+p2*x^3+p3*x^2+p4*x+p5) / (x^2+p6*x+p7) Code:
-0.43231217703332, 1.136975493080563, -1.043577770662604, 0.26894582879701, 0.069994693624, -2.151432791900253, 1.151458861241842 |
|
#20
|
|||||
|
|||||
|
Re: Autonomous: Mixing Drive Distance PID's with Turn Angle PID's.
Here is an interesting post from the old IFI Robotics forum that describes what is going on "under the hood" of a Victor.
http://www.ifirobotics.com/forum/viewtopic.php?t=317 Note that there are only 94 discrete output states in each direction. This would make a look-up table a pretty attractive solution. Also, "Be aware that it may take 3 or 4 input steps before the Victor changes its Output." EDIT: Although this post seems to contradict the last bit about latency: http://www.ifirobotics.com/forum/viewtopic.php?t=375 Last edited by Jared Russell : 21-11-2011 at 10:04. |
|
#21
|
||||
|
||||
|
Re: Autonomous: Mixing Drive Distance PID's with Turn Angle PID's.
Quote:
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|