Go to Post Do it the good ol' American way and throw money at the problem. In other words, get out of there and call a professional to take care of it. - sanddrag [more]
Home
Go Back   Chief Delphi > Technical > Programming > Java
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 05-02-2016, 17:56
WTFogland WTFogland is offline
Registered User
FRC #5505
Team Role: Alumni
 
Join Date: Feb 2016
Rookie Year: 2015
Location: Michigan
Posts: 4
WTFogland is an unknown quantity at this point
What is PIDF?

Hey guys,

This is the first year my team is using the NavX MXP and I am at a lost for the Rotate to Angle portion. First off: What does PIDF stand for and how do I get said inputs? I have looked at the example code that is found on the NavX Wiki, but I am still confused. We use are using an Xbox Controller and Tank Drive, so we are mostly using this feature just to drive in a straight line. Any help would be great, thank you!
Reply With Quote
  #2   Spotlight this post!  
Unread 05-02-2016, 18:08
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,088
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: What is PIDF?


It's PID with Feedforward.


Reply With Quote
  #3   Spotlight this post!  
Unread 05-02-2016, 18:55
Guy997's Avatar
Guy997 Guy997 is offline
Le Programmer
AKA: Sam Schwartz
FRC #1339 (Angelbots)
Team Role: Programmer
 
Join Date: Oct 2015
Rookie Year: 2015
Location: Denver
Posts: 15
Guy997 is an unknown quantity at this point
Re: What is PIDF?

And one of the few ways to get PIDF values is to randomly test them in the code. Have an absolute value if testing, since PID never actually reaches the setpoint. So, if you're using a motor (like a CIM) then the motor will stall since it'll never actually get to the setpoint (which is how our team accidentally burnt out a CIM motor).
__________________
I think the PDP needs more metal shavings but y'know, that's just me...

Reply With Quote
  #4   Spotlight this post!  
Unread 05-02-2016, 19:58
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,088
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: What is PIDF?

Quote:
Originally Posted by Guy997 View Post
PID never actually reaches the setpoint.
Could you please explain what you mean by this?


Reply With Quote
  #5   Spotlight this post!  
Unread 09-02-2016, 10:17
geniusadam69 geniusadam69 is offline
Registered User
FRC #5923
 
Join Date: Feb 2016
Location: Houston, TX
Posts: 5
geniusadam69 is an unknown quantity at this point
Re: What is PIDF?

Quote:
Originally Posted by Ether View Post
Could you please explain what you mean by this?


I don't think what he wrote is correct. A tuned controller will definitely reach its setpoint. The only thing I will point out is that a setpoint must have tolerances, otherwise, it can never truly hit an exact number.

That said, if you're not familiar with PID, you should google this and there's tons of information on it. Quick Summary:
E is error. This is the difference between value and setpoint.

P is proportional. so if Kp*E = output
I is integral, so sum (E) *Ki = output
D is derivative, so (E,now - E,last) *Kd = output

If you add all of these together you'll get an actual output from a PID controller. That's a quick summary and it's likely not occurring actually like that, but it gives you a general idea.

proportional is designed to do most of the work. Integral is designed to push small errors towards the setpoint. Derivative is usually designed to counteract strong pushes.
Reply With Quote
  #6   Spotlight this post!  
Unread 09-02-2016, 10:30
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,088
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: What is PIDF?

Quote:
Originally Posted by geniusadam69 View Post
I is integral, so sum (E) *Ki = output
D is derivative, so (E,now - E,last) *Kd = output.
I component = sum(err∆t)
D component = ∆err/∆t

since this thread is about PIDF (not just PID):

F component is a (usually experimentally determined) value (or values) that is added to the output. It can be a fixed value (if there is only one setpoint) or it can be in a lookup table or function within the controller.


Reply With Quote
  #7   Spotlight this post!  
Unread 09-02-2016, 10:39
Guy997's Avatar
Guy997 Guy997 is offline
Le Programmer
AKA: Sam Schwartz
FRC #1339 (Angelbots)
Team Role: Programmer
 
Join Date: Oct 2015
Rookie Year: 2015
Location: Denver
Posts: 15
Guy997 is an unknown quantity at this point
Re: What is PIDF?

Quote:
Originally Posted by geniusadam69 View Post
The only thing I will point out is that a setpoint must have tolerances, otherwise, it can never truly hit an exact number.
This is what I was trying to convey, sorry for the confusion.
__________________
I think the PDP needs more metal shavings but y'know, that's just me...

Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 10:53.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi