|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools |
Rating:
|
Display Modes |
|
#31
|
||||
|
||||
|
Re: 971's Control System
Kevin, What value have you measured for L for CIM ? Oh, also: Ke should be V/(rad/sec) or V∙sec/rad no? |
|
#32
|
|||
|
|||
|
Re: 971's Control System
For flywheels and stuff like that, I've been starting by recording a step response. I'll then feed the same step response to my model, and plotting the results on top of each other. I then fiddle with the parameters until it matches well enough.
|
|
#33
|
|||
|
|||
|
Re: 971's Control System
Quote:
I would need to look up the measured value from my old models, I do not recall off the top of my head what the measured inductance value was. I'll provide it as soon as I can. As for the units for Ke, you are correct. The units must satisfy this equation: emf [Volts] = Ke [Volts/(rads/sec)] * AngularVelocity [rads/sec] Looks like I left off the parentheses in my original post. I will edit my post to add parentheses to make it clear. Thank you for catching the typo. Regards, Kevin Last edited by NotInControl : 11-06-2014 at 21:56. |
|
#34
|
||||
|
||||
|
Re: 971's Control System
Quote:
Thanks. |
|
#35
|
||||
|
||||
|
Re: 971's Control System
Sorry to necro this thread, but I haven't had time to look into this stuff in detail until now and I have a few questions. Looking at the 2013 flywheel controller, the state matrix for the model looks like:
Code:
Xdot = [ speeddot ] = [ 0 1 ][ speed ] + [ 0 ] U
[ inputdot ] [ 0 -kt/kv/(JG^2R) ][ input ] [ kt/JGR ]
y = [ 1 0 ][ speed ] = speed
[ input ]
(that's correct, right?) The part I don't understand is the -kt/kv/(JG^2R) term. That represents how the wheel slows down over time, right? How is/was it derived? Another question I have is about arms and gravity, when you're modeling an arm like your claws last year do you just ignore gravity in the model and treat it as a disturbance? It doesn't seem like a linear force to me with how it changes with respect to the arm angle and I can't figure out how to get it into a linear state matrix model. |
|
#36
|
|||
|
|||
|
Re: 971's Control System
What you could do is add it as a forcing function and cancel it out in your input, along the lines of:
u2 = u1+sin(angle) |
|
#37
|
|||
|
|||
|
Re: 971's Control System
Quote:
Edit: I didn't look carefully enough at your matrices; what I said is correct, but the state matrix (X) is of the form: [[position] [velocity]] for the 2013 shooter and Y would just be the position. Quote:
The way that we handled the constant force was through the use of the delta-u controller (previous posts in this thread should have some information on this), similar to how the I term of a PID controller would handle it. If you have any more questions, any of us would be happy to answer. Another Edit: I realized that no one mentioned this explicitly since the last post, but you can find some more controls documentation and our 2014 source code here. Last edited by James Kuszmaul : 30-12-2014 at 19:26. |
|
#38
|
||||
|
||||
|
Re: 971's Control System
You make your kids do root-locus plots by hand, right?
*shudders* |
|
#39
|
|||
|
|||
|
Re: 971's Control System
Quote:
![]() |
|
#40
|
||||
|
||||
|
Re: 971's Control System
I remember loathing any assignment requiring root-locus plots. I never really got much out of them anyway (maybe it was just how it was presented). I'm pretty sure I learned more about the control system while making the root-locus plot than anything the plot actually told me when it was done. I've wondered why more teams haven't done LQR or lead-lag compensators. I seem to remember a good LQR was somewhat easy to implement if you knew the dynamics of your system pretty well, but I believe PID is probably more forgiving if you don't fully understand it. Is there any truth to that?
|
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|