Go to Post What has happened has happened. Humans were involved, mistakes made. Clarification will come... - Wetzel [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #16   Spotlight this post!  
Unread 30-12-2012, 20:27
davidthefat davidthefat is offline
Alumni
AKA: David Yoon
FRC #0589 (Falkons)
Team Role: Alumni
 
Join Date: Jan 2011
Rookie Year: 2010
Location: California
Posts: 792
davidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud ofdavidthefat has much to be proud of
Re: PID: what is it exactly?

Quote:
Originally Posted by Ether View Post
The thermostat controlling your home furnace is probably a bang-bang controller, not PID.


Is that a legit technical term used in industry? "Bang-bang" controller? It just sounds funny. I think I would have called it a boolean logic controller (Although that has its own implications)
__________________
Do not say what can or cannot be done, but, instead, say what must be done for the task at hand must be accomplished.
  #17   Spotlight this post!  
Unread 30-12-2012, 20:31
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,102
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: PID: what is it exactly?

Quote:
Originally Posted by davidthefat View Post
Is that a legit technical term used in industry? "Bang-bang" controller?
Google it.


  #18   Spotlight this post!  
Unread 30-12-2012, 20:48
RyanN's Avatar
RyanN RyanN is offline
RyanN
AKA: Ryan Nazaretian
FRC #4901 (Garnet Squadron)
Team Role: Mentor
 
Join Date: Jun 2006
Rookie Year: 2005
Location: Columbia, SC
Posts: 1,126
RyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond reputeRyanN has a reputation beyond repute
Re: PID: what is it exactly?

Quote:
Originally Posted by davidthefat View Post
Is that a legit technical term used in industry? "Bang-bang" controller? It just sounds funny. I think I would have called it a boolean logic controller (Although that has its own implications)
I think the name suites it quite well. Boolean logic makes more sense for the programmer. There are weirder names in engineering and programming. Have you heard of a "dirty-bit?" It's the bit inside of processors that notifies that data has changed. Yes, when we heard our professor say it, someone started singing the Black Eyed Peas song.

Zombie circuits are also fun. They represent circuits that are kind of powered up. In low power circuits, this can be due to power leakage through snubber diodes.

Another weird name... snubber diodes protect chips from over voltage, or under voltage conditions by placing a diode at the input/output of a chip, which has diodes going to Vdd and Vss.
__________________
Garnet Squadron
FRC 4901
Controls Mentor
@rnazaretian

Previous mentor and student from Team Fusion, FRC 364
  #19   Spotlight this post!  
Unread 31-12-2012, 18:02
DonRotolo's Avatar
DonRotolo DonRotolo is offline
Back to humble
FRC #0832
Team Role: Mentor
 
Join Date: Jan 2005
Rookie Year: 2005
Location: Atlanta GA
Posts: 7,014
DonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond repute
Re: PID: what is it exactly?

Yes, it is a legitimate name for an on/off type of controller.
__________________

I am N2IRZ - What's your callsign?
  #20   Spotlight this post!  
Unread 31-12-2012, 18:26
Wildcats1378 Wildcats1378 is offline
Registered User
no team
 
Join Date: Jan 2012
Rookie Year: 2011
Location: hawaii
Posts: 93
Wildcats1378 is an unknown quantity at this point
Re: PID: what is it exactly?

So a bang-bang controller is similar to a PID controller in that uses sensor feedback, but rather then being proportional, it's either on or off?
  #21   Spotlight this post!  
Unread 31-12-2012, 18:27
nathan_hui nathan_hui is offline
Registered User
AKA: Nathan Hui
FRC #2473 (CHS Robotics)
Team Role: Alumni
 
Join Date: Feb 2012
Rookie Year: 2009
Location: Cupertino, CA
Posts: 228
nathan_hui will become famous soon enoughnathan_hui will become famous soon enough
Send a message via AIM to nathan_hui
Re: PID: what is it exactly?

Essentially. It's basically a thresholded switch.
  #22   Spotlight this post!  
Unread 01-01-2013, 01:12
alb4h alb4h is offline
Registered User
FRC #3862
 
Join Date: Dec 2011
Location: MO
Posts: 27
alb4h is an unknown quantity at this point
Re: PID: what is it exactly?

Here's another very simple explanation:

http://www.education.rec.ri.cmu.edu/...etrix_preview/

Click on Movement, then Improved Movement for a couple of short videos using RobotC.

Ann

Last edited by alb4h : 01-01-2013 at 01:21.
  #23   Spotlight this post!  
Unread 02-01-2013, 13:47
ZipTie3182's Avatar
ZipTie3182 ZipTie3182 is offline
Registered User
AKA: Anna Sklenar
FRC #3182 (Athena's Warriors)
Team Role: Mechanical
 
Join Date: May 2010
Rookie Year: 2010
Location: West Hartford, CT
Posts: 94
ZipTie3182 is a jewel in the roughZipTie3182 is a jewel in the roughZipTie3182 is a jewel in the roughZipTie3182 is a jewel in the rough
Re: PID: what is it exactly?

This was also a topic I was curious about Thanks for the explanations. I have another question though. I had thought last season teams used PID loops for their aiming, particularly in shooting to a certain distance? Was this not an application of PID? Now understanding what it is, I'm thinking maybe it would work if you knew you needed to wheels to spin at a specific speed to make the ball go x ft but the adjusting seems more like something you would use to keep your wheels at a constant speed.

Thanks!
Anna
  #24   Spotlight this post!  
Unread 02-01-2013, 13:55
nathan_hui nathan_hui is offline
Registered User
AKA: Nathan Hui
FRC #2473 (CHS Robotics)
Team Role: Alumni
 
Join Date: Feb 2012
Rookie Year: 2009
Location: Cupertino, CA
Posts: 228
nathan_hui will become famous soon enoughnathan_hui will become famous soon enough
Send a message via AIM to nathan_hui
Re: PID: what is it exactly?

Actually, PID for shooting is a little more than keeping wheels at a constant speed. The one problem we had was the repeatability of shots. Each time we chucked a ball out, the wheels would slow down because of the amount of energy released into the ball. One thing PID would have to do was compensate for that loss in speed fast enough to maintain a reasonable rate of fire, which I believe required some hacking (almost similar to a motion profiler). But to do distance aiming, we used a lookup table, with input from a camera or joystick. For lateral aiming, we did use PID. The thing about setting distance is that there's no immediate feedback - you need the shot to land before you get feedback, so you can't correct the flight path in the middle, thereby defeating the purpose of PID.
  #25   Spotlight this post!  
Unread 02-01-2013, 14:24
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,102
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: PID: what is it exactly?

Quote:
Originally Posted by ZipTie3182 View Post
I had thought last season teams used PID loops for their aiming, particularly in shooting to a certain distance?
Quote:
Originally Posted by nathan_hui View Post
One thing PID would have to do was compensate for that loss in speed fast enough to maintain a reasonable rate of fire, which I believe required some hacking (almost similar to a motion profiler).
Speed control of the shooter wheel was a good application for a bang-bang controller. More details here.


  #26   Spotlight this post!  
Unread 02-01-2013, 14:56
Sparks333's Avatar
Sparks333 Sparks333 is offline
Robotics Engineer
AKA: Dane B.
FRC #1425 (Wilsonville Robotics)
Team Role: Alumni
 
Join Date: Feb 2004
Rookie Year: 2003
Location: Wilsonville, Oregon
Posts: 184
Sparks333 is a glorious beacon of lightSparks333 is a glorious beacon of lightSparks333 is a glorious beacon of lightSparks333 is a glorious beacon of lightSparks333 is a glorious beacon of lightSparks333 is a glorious beacon of light
Send a message via AIM to Sparks333
Re: PID: what is it exactly?

Little bit of repeat here, but controls engineer, so I have to chime in.

PID is a form of control system that assumes that what you're controlling is pretty simple (your plant is somewhere around second-order). It's particularly useful if the thing doing the controlling (motor) has a power output that is fairly close to or significantly greater than the load (robot, arm, etc), and if the system being controlled will not move on its own without a control input (a marginally stable system - for example, a motor holding an arm out at an angle is an unstable system. If the motor's power is cut, the arm falls down. A robot drive train is a marginally stable system - if power is cut, it drifts to a halt, but not anywhere predictable. A stable system, in case anyone cares, is one that has a tendency to return to a neutral point - like the velocity of a spinning wheel). Since PID controllers are based solely on the error between where you want to be and where you are, they don't do well with scenarios where the system has to fight a continuous force (like gravity) - what ends up happening is it reaches equilibrium with the P term while undershooting, then the I term slowly ramps up power until it's where you want it to be, then you reach your goal and the P term goes zero or negative and the system falls back into undershoot - repeat as necessary. You can insert what's called a 'feed forward' term into the controller that attempts to combat the force (at its simplest it's just adding a constant that would prevent the motor from moving - in the arm example above it would most likely be the sine of the angle the arm is making with the gravity norm multiplied by the arm's mass and lever arm moment) but the assumption is that your plant model is very simple.

One of the nice things about PID is that it is a very well-understood control system - unlike most other control systems, you don't have to have a comprehensive model of the system you're controlling, and there is tons of literature on how to tune them. They're also pretty easy to implement, and since the derivative term on a position control loop is velocity, the measurement is free with encoders (and believe me, deriving in a control loop is painful - derivative terms tend to spike pretty hard when they're being calculated). The bad things about them is they can be tricky to tune, finicky when the system changes (for example - pick up a ball in your grabber? There goes your precision tuning) and prone to integrator windup (when your integral term grows to the point where it takes over the control loop - put in integrator term limits, you'll thank me later).

On the topic of bang-bang controllers - they're useful for scenarios where the system is stable on its own, and when the power you've got for control pales in comparison to the load being controlled. Think thermostat - you can turn that on full for a good half-hour, and the temperature won't rise quickly. Then, when the controller (thermostat) kicks off, the system (temperature) slowly tries to get back to its stable position, thereby engaging the controller once again. This won't work with a marginally stable system, where the temperature would stabilize somewhere outside the limits of the bang-bang controller, or (heaven help you) an unstable system.

The best thing you can do for your control system is try to figure out how the system is going to behave - if you can express that mathematically, then you can do amazing things with control. This unfortunately takes a bit of math - differential equations, to be exact - but if you are comfortable with referring to acceleration as the second derivative of position, and know how to take a Laplace transform, you can come up with plant equations that will lead you right to how your control system should look. Or, just stick a PID, PI, PD, or bang-bang on there and fiddle with coefficients until it works right.

Sparks
__________________
ICs do weird things when voltage is run out of spec.

I love to take things apart. The fact that they work better when I put them back together it just a bonus.

http://www.ravenblack.net/random/surreal.html
  #27   Spotlight this post!  
Unread 07-01-2013, 13:48
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,102
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: PID: what is it exactly?

Quote:
Originally Posted by Sparks333 View Post
On the topic of bang-bang controllers - they're useful ... when the power you've got for control pales in comparison to the load being controlled. Think thermostat...
Think shooter wheel.

Even with a powerful motor you can control the wheel speed effectively at 50% of free speed (at max motor power) with bang-bang if the wheel has enough inertia and the control iteration rate is fast enough.


Closed Thread


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 21:23.

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