Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Technical Discussion (http://www.chiefdelphi.com/forums/forumdisplay.php?f=22)
-   -   Flywheels and Shooter Wheels (http://www.chiefdelphi.com/forums/showthread.php?t=104598)

JesseK 14-03-2012 13:42

Re: Flywheels and Shooter Wheels
 
Flywheel vs PID control was the biggest unknown we had this season, so we decided to make our shooter as flexible as possible.

I CAD'ed tight-tolerance plates that would bolt onto the side of our 8" IFI wheel using the pre-existing holes, and then had 12 of them watercut out of 1/4" plate. This gives us a total of about ~3.5 lbs in flywheel weight in removeable increments of ~0.6lbs. We haven't actually taken any of the weight off yet because the balls are extremely consistent distance-wise. We have yet to test integration of the software PID, but as a backup we also have human-in-the-loop control via a tactical display.

We have a 2.5 second spin-up time to ~2000 RPM (from the key), but the wheel can aggressively spin up to 3600 RPM in under ~1.5 seconds if we let the motors run without the trapezoidal speed profile.

During initial testing the wheel only spun down about 20% (200RPM-ish) while compressing the ultra-squishy balls 1" and could return to the target speed in about 1 second. We didn't measure spin-down of stiff balls with 0.5" compression, but the distances were the same. We have this ridiculous test & integration plan to figure out compression, PID adjustments, flywheel weights, driving constraints and what the actual balls will be on the field. If I'm not exhausted after tomorrow's practice, I'll report back some actual #'s.

Ether 14-03-2012 14:06

Re: Flywheels and Shooter Wheels
 
Quote:

Originally Posted by JesseK (Post 1144148)
We have this ridiculous test & integration plan to figure out compression, PID adjustments, flywheel weights, driving constraints and what the actual balls will be on the field. If I'm not exhausted after tomorrow's practice, I'll report back some actual #'s.

Shared test data is always greatly appreciated. Thank you.



Dan_Karol 14-03-2012 14:55

Re: Flywheels and Shooter Wheels
 
Quote:

Originally Posted by Ether (Post 1144121)
This wouldn't be very ideal (or safe) on a 19,000 rpm motor like the 550.



Ether,

You may be making several assumptions with this statement. This year 1100 is using a single wheel shooter that is mounted direct drive to a Fisher Price motor (9015 or 9013?) our shooter diameter is about 2.3" (although if I rebuilt it I would use 3" tubing instead) and as such we can get away with a very small flywheel.

We know the energy stored in a flywheel can be represented as:
E = (Moment_of_Inertia * Angular_Velocity^2)/2

So if you double the angular velocity you will effectively quadruple the Energy stored in the flywheel. On the same lines, if you have a target Energy you wish to store in the flywheel, then by connecting the flywheel to the motor and not to the shooter shaft you can use a smaller lighter flywheel (more ideal in FIRST applications where shooters tend to be high up in the robot and weight and balance are issues).

The other thing I would like to mention is that the safety of the system mostly depends on the configuration of how things are assembled. If properly done there is no more chance of something going wrong in one model of the system then in the other.

If you have concerns about the safety of direct drive applications of the flywheel/shooter in our robot please send me a PM.

Cal578 14-03-2012 17:33

Re: Flywheels and Shooter Wheels
 
Quote:

Originally Posted by Ether (Post 1144124)
You didn't mention in this thread what motor controller you are using. If you are using a Jag via CAN, at least consider using Voltage mode instead of %Vbus. This will compensate for varying supply voltage.

We're using Jaguars via CAN. I'll need to check with the programming subteam whether we're using Voltage mode or %Vbus. Thanks for the suggestion, Ether.

pfreivald 14-03-2012 18:10

Re: Flywheels and Shooter Wheels
 
Quote:

Originally Posted by Cal578 (Post 1144093)
Several people have mentioned PID control. Are you using the Jaguar built-in PID feature, or are you implementing it yourself in the cRIO? Either way, what's your tuning method, and how long did it take? We only have the Thursday at regional competition to get it done.

Our shooter was working rather well on practice day, before very weird electrical problems knocked it out for the rest of FLR. Our tuning method took about an hour, and was as follows (using encoders for feedback):

Start with all values at zero. Increase P until further increases result in a similar stall below the threshold value. (Too low will result in stall, FYI, so start with a value above that). Decrease P to the minimum value in that diminishing-returns range.

Start with a large I. You'll notice that it takes a long time to get up to speed, but it does get up to the target value and holds steady without overshooting. Decrease I until you get a ramp-up that satisfies your needs.

Spin it up, then feed in a ball and make sure that it ramps back up to speed without oscillating. (Ours didn't oscillate using this method).

Leave D at zero.

-------------

That, at least, worked for us... Though if you saw us at FLR you'd just have to take our word for it. (Rattin' smattin' electricity!)

Ether 14-03-2012 23:32

Re: Flywheels and Shooter Wheels
 
Quote:

Originally Posted by pfreivald (Post 1144258)

Quote:

Originally Posted by Cal578 View Post
Several people have mentioned PID control. Are you using the Jaguar built-in PID feature, or are you implementing it yourself in the cRIO? Either way, what's your tuning method, and how long did it take? We only have the Thursday at regional competition to get it done.
Our shooter was working rather well on practice day, before very weird electrical problems knocked it out for the rest of FLR. Our tuning method took about an hour, and was as follows (using encoders for feedback):

Start with all values at zero. Increase P until further increases result in a similar stall below the threshold value. (Too low will result in stall, FYI, so start with a value above that). Decrease P to the minimum value in that diminishing-returns range.

Start with a large I. You'll notice that it takes a long time to get up to speed, but it does get up to the target value and holds steady without overshooting. Decrease I until you get a ramp-up that satisfies your needs.

Spin it up, then feed in a ball and make sure that it ramps back up to speed without oscillating. (Ours didn't oscillate using this method).

Leave D at zero.

You didn't mention if you were using cRIO or Jag PID. I suspect cRIO since you said to start with large I ?



pfreivald 14-03-2012 23:59

Re: Flywheels and Shooter Wheels
 
Quote:

Originally Posted by Ether (Post 1144432)
You didn't mention if you were using cRIO or Jag PID. I suspect cRIO since you said to start with large I ?



Right, sorry. We're using all Victors due to cost and available parts (we have lots of Victors, but not lots of Jags). Starting with the large I was a matter of keeping the stability we needed and then tuning in spin-up speed, rather than trying to maximize spin-up speed and then tune in stability.

Cal578 15-03-2012 12:25

Re: Flywheels and Shooter Wheels
 
Quote:

Originally Posted by Ether (Post 1144432)
You didn't mention if you were using cRIO or Jag PID. I suspect cRIO since you said to start with large I ?

Ether, would you recommend a different method if we're using PID in the Jag? We are using Jags controlled via CAN, so we have the choice to put the PID in the Jag or cRIO.

This is really helpful stuff. I'm enjoying this thread very much. Thanks, everyone!

crazyStone 15-03-2012 17:51

Re: Flywheels and Shooter Wheels
 
We have a flywheel that is currently geared 2:1 off of a CIM motor. The flywheel is about 5 lbs I believe or very close to that. We only run it at 80% capacity though because it gets pretty scary when it gets up to full speed, sounds like a jet turbine spooling up, it has a very distinctive whine to it. It shoots the balls pretty decently.

Ether 15-03-2012 18:53

Re: Flywheels and Shooter Wheels
 
Quote:

Originally Posted by Cal578 (Post 1144594)
Ether, would you recommend a different method if we're using PID in the Jag?

Depends on what language and library you are using.

Check out this post, especially the last sentence:

http://www.chiefdelphi.com/forums/sh...33&postcount=6



Cal578 16-03-2012 12:25

Re: Flywheels and Shooter Wheels
 
Quote:

Originally Posted by Ether (Post 1144715)
Depends on what language and library you are using.

If the PID is in the Jag, why does it matter what language we're using in the cRIO? I thought the Jag already has a PID control built in, and we just configure it (set the constants, etc.).

Anyway, we're using Java, with the library supplied by FIRST.

I understand the basic theory of PID control (I'm no expert, but I have a good idea of the general process). I'm looking for advice on how to obtain the constants for the controller. I figured that might be different for Jag-based PID v. cRIO.

Ether 16-03-2012 12:53

Re: Flywheels and Shooter Wheels
 
Quote:

Originally Posted by Cal578 (Post 1144967)
If the PID is in the Jag, why does it matter what language we're using in the cRIO?

I should have been clearer. My point was that all PIDs are not created equal. There are several different "forms" of PID, and in the different forms some of the tuning constants have different meanings.

So if you were using a language/library on the cRIO which used a different form of PID than what is used in the Jag, then you would tune the Jag PID differently from the way you would tune a PID in the cRIO.

By "tune differently" in this context I mean you would have to be aware that, for example, in some forms of PID you decrease the I term to increase the I effect.

Quote:

I thought the Jag already has a PID control built in
It does.

Quote:

and we just configure it (set the constants, etc.).
Correct.

Quote:

I'm looking for advice on how to obtain the constants for the controller.
Here are some possibly useful links:

http://www.chiefdelphi.com/forums/sh....php?p=1136258

http://www.chiefdelphi.com/forums/sh...d.php?t=100135

http://vamfun.wordpress.com/2012/02/...ero-placement/

http://uberbots.org/o/Resources/For_...ms/PID_Control

http://www.chiefdelphi.com/forums/sh...04&postcount=3

http://www.chiefdelphi.com/forums/sh...90&postcount=5

http://www.chiefdelphi.com/forums/sh...38&postcount=4




JesseK 16-03-2012 22:01

Re: Flywheels and Shooter Wheels
 
Ball consistency is horrible. We're basically calibrating a measured 'swish' from the key, then adjusting a dead-reckoned distance based upon our point of reference and how 'squishy' a ball feels. Terrible. 1218 up in MAR really has somethin special, heh.

Hawiian Cadder 17-03-2012 02:22

Re: Flywheels and Shooter Wheels
 
We decided early on that a flywheel would not be necessary to shoot the short range shots that we decided to work on. A pair of fisher prices driving the first stage of a FP gearbox going via chain to our shooting wheel, overall reduction is between 1:6 and 1:9 (still experimenting to find the sweet spot for consistent fender shots). It spins to top speed in less than 2 seconds. We chose this non flywheel setup for several reasons:

1) short range shots were what we decided to peruse
2) the shooter needs little to no time to spin up, making shooting multiples simple and easy
3)high CG is unacceptable this year, a flywheel up high would raise our CG (currently 5.5-6.5 inches off the ground)
4) our custom gearbox driving the shooter wheel was easily switchable, and if there was a problem then we would simply add more motors until there was enough power available

One pro of the flywheel design is we considered using it as a gyroscope to balance the bridge more easily, this was ruled out as too complex and heavy.

baronep 19-03-2012 18:30

Re: Flywheels and Shooter Wheels
 
2 Attachment(s)
Here is Team 2848: Jesuit All-Sparks PID Wheel Control Machine. It runs inside periodic tasks. It can be triggered anywhere in code through the use of a Global Variable or it can be over-ridden on the front-panel for easy calibration/testing.


All times are GMT -5. The time now is 04:32.

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