Go to Post Starting from scratch is what makes it hard. - ChrisH [more]
Home
Go Back   Chief Delphi > Technical > Technical Discussion
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 14-03-2012, 13:42
JesseK's Avatar
JesseK JesseK is offline
Expert Flybot Crasher
FRC #1885 (ILITE)
Team Role: Mentor
 
Join Date: Mar 2007
Rookie Year: 2005
Location: Reston, VA
Posts: 3,695
JesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond repute
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.
__________________

Drive Coach, 1885 (2007-present)
CAD Library Updated 5/1/16 - 2016 Curie/Carver Industrial Design Winner
GitHub

Last edited by JesseK : 14-03-2012 at 13:45.
  #17   Spotlight this post!  
Unread 14-03-2012, 14:06
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,100
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: Flywheels and Shooter Wheels

Quote:
Originally Posted by JesseK View Post
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.


  #18   Spotlight this post!  
Unread 14-03-2012, 14:55
Dan_Karol Dan_Karol is offline
Mentor and Coach
AKA: Daniel Karol
FRC #0131 (CHAOS)
Team Role: Mentor
 
Join Date: Dec 2006
Rookie Year: 2004
Location: Southborough MA
Posts: 63
Dan_Karol has a spectacular aura aboutDan_Karol has a spectacular aura about
Send a message via AIM to Dan_Karol
Re: Flywheels and Shooter Wheels

Quote:
Originally Posted by Ether View Post
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.
  #19   Spotlight this post!  
Unread 14-03-2012, 17:33
Cal578 Cal578 is offline
Passionate FIRST-er, CD donor
AKA: Gerry
FRC #0578 (Red Raider Robotics)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2008
Location: Rochester, NY
Posts: 256
Cal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant future
Re: Flywheels and Shooter Wheels

Quote:
Originally Posted by Ether View Post
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.
__________________
Cal
R3: Red Raider Robotics (FRC Team 578)
Fairport, NY, USA
www.FairportRobotics.org
2016 Finger Lakes Regional: Semifinalist on Alliance 7 (1128, 2010, 578)
2016 NYC Regional: Finalist on Alliance 3 (3419, 578, 3017), 4th seed team, Team Spirit Award
2015 Finger Lakes Regional: 8-3-0 in qualification, 7th seed, Quarterfinalist
2014 NY Tech Valley Regional: 8-4-0 in qualification, 13th seed, Semifinalist
2013 Finger Lakes Regional: 4-5-0 in qualification, 26th seed, Alliance 6, 1-2 in tournament
2012 Buckeye Regional: Gracious Professionalism Award, 7-3-0, 14th seed
2011 Finger Lakes Regional: Engineering Inspiration Award
  #20   Spotlight this post!  
Unread 14-03-2012, 18:10
pfreivald's Avatar
pfreivald pfreivald is offline
Registered User
AKA: Patrick Freivald
FRC #1551 (The Grapes of Wrath)
Team Role: Mentor
 
Join Date: Jan 2007
Rookie Year: 2001
Location: Naples, NY
Posts: 2,296
pfreivald has a reputation beyond reputepfreivald has a reputation beyond reputepfreivald has a reputation beyond reputepfreivald has a reputation beyond reputepfreivald has a reputation beyond reputepfreivald has a reputation beyond reputepfreivald has a reputation beyond reputepfreivald has a reputation beyond reputepfreivald has a reputation beyond reputepfreivald has a reputation beyond reputepfreivald has a reputation beyond repute
Re: Flywheels and Shooter Wheels

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.

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

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!)
__________________
Patrick Freivald -- Mentor
Team 1551
"The Grapes of Wrath"
Bausch & Lomb, PTC Corporation, and Naples High School

I write books, too!
  #21   Spotlight this post!  
Unread 14-03-2012, 23:32
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,100
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: Flywheels and Shooter Wheels

Quote:
Originally Posted by pfreivald View Post

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 ?


  #22   Spotlight this post!  
Unread 14-03-2012, 23:59
pfreivald's Avatar
pfreivald pfreivald is offline
Registered User
AKA: Patrick Freivald
FRC #1551 (The Grapes of Wrath)
Team Role: Mentor
 
Join Date: Jan 2007
Rookie Year: 2001
Location: Naples, NY
Posts: 2,296
pfreivald has a reputation beyond reputepfreivald has a reputation beyond reputepfreivald has a reputation beyond reputepfreivald has a reputation beyond reputepfreivald has a reputation beyond reputepfreivald has a reputation beyond reputepfreivald has a reputation beyond reputepfreivald has a reputation beyond reputepfreivald has a reputation beyond reputepfreivald has a reputation beyond reputepfreivald has a reputation beyond repute
Re: Flywheels and Shooter Wheels

Quote:
Originally Posted by Ether View Post
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.
__________________
Patrick Freivald -- Mentor
Team 1551
"The Grapes of Wrath"
Bausch & Lomb, PTC Corporation, and Naples High School

I write books, too!
  #23   Spotlight this post!  
Unread 15-03-2012, 12:25
Cal578 Cal578 is offline
Passionate FIRST-er, CD donor
AKA: Gerry
FRC #0578 (Red Raider Robotics)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2008
Location: Rochester, NY
Posts: 256
Cal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant future
Re: Flywheels and Shooter Wheels

Quote:
Originally Posted by Ether View Post
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!
__________________
Cal
R3: Red Raider Robotics (FRC Team 578)
Fairport, NY, USA
www.FairportRobotics.org
2016 Finger Lakes Regional: Semifinalist on Alliance 7 (1128, 2010, 578)
2016 NYC Regional: Finalist on Alliance 3 (3419, 578, 3017), 4th seed team, Team Spirit Award
2015 Finger Lakes Regional: 8-3-0 in qualification, 7th seed, Quarterfinalist
2014 NY Tech Valley Regional: 8-4-0 in qualification, 13th seed, Semifinalist
2013 Finger Lakes Regional: 4-5-0 in qualification, 26th seed, Alliance 6, 1-2 in tournament
2012 Buckeye Regional: Gracious Professionalism Award, 7-3-0, 14th seed
2011 Finger Lakes Regional: Engineering Inspiration Award
  #24   Spotlight this post!  
Unread 15-03-2012, 17:51
crazyStone crazyStone is offline
Cad posessed
AKA: Derek Stone
no team (Charger Robotics)
Team Role: CAD
 
Join Date: Mar 2011
Rookie Year: 2010
Location: Sussex, WI
Posts: 41
crazyStone has a spectacular aura aboutcrazyStone has a spectacular aura aboutcrazyStone has a spectacular aura about
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.
  #25   Spotlight this post!  
Unread 15-03-2012, 18:53
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,100
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: Flywheels and Shooter Wheels

Quote:
Originally Posted by Cal578 View Post
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


  #26   Spotlight this post!  
Unread 16-03-2012, 12:25
Cal578 Cal578 is offline
Passionate FIRST-er, CD donor
AKA: Gerry
FRC #0578 (Red Raider Robotics)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2008
Location: Rochester, NY
Posts: 256
Cal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant futureCal578 has a brilliant future
Re: Flywheels and Shooter Wheels

Quote:
Originally Posted by Ether View Post
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.
__________________
Cal
R3: Red Raider Robotics (FRC Team 578)
Fairport, NY, USA
www.FairportRobotics.org
2016 Finger Lakes Regional: Semifinalist on Alliance 7 (1128, 2010, 578)
2016 NYC Regional: Finalist on Alliance 3 (3419, 578, 3017), 4th seed team, Team Spirit Award
2015 Finger Lakes Regional: 8-3-0 in qualification, 7th seed, Quarterfinalist
2014 NY Tech Valley Regional: 8-4-0 in qualification, 13th seed, Semifinalist
2013 Finger Lakes Regional: 4-5-0 in qualification, 26th seed, Alliance 6, 1-2 in tournament
2012 Buckeye Regional: Gracious Professionalism Award, 7-3-0, 14th seed
2011 Finger Lakes Regional: Engineering Inspiration Award
  #27   Spotlight this post!  
Unread 16-03-2012, 12:53
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,100
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: Flywheels and Shooter Wheels

Quote:
Originally Posted by Cal578 View Post
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



  #28   Spotlight this post!  
Unread 16-03-2012, 22:01
JesseK's Avatar
JesseK JesseK is offline
Expert Flybot Crasher
FRC #1885 (ILITE)
Team Role: Mentor
 
Join Date: Mar 2007
Rookie Year: 2005
Location: Reston, VA
Posts: 3,695
JesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond repute
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.
__________________

Drive Coach, 1885 (2007-present)
CAD Library Updated 5/1/16 - 2016 Curie/Carver Industrial Design Winner
GitHub
  #29   Spotlight this post!  
Unread 17-03-2012, 02:22
Hawiian Cadder's Avatar
Hawiian Cadder Hawiian Cadder is offline
Registered User
AKA: Isaak
FRC #0159 (Alpine Robotics)
Team Role: CAD
 
Join Date: Feb 2010
Rookie Year: 2003
Location: Fort Colins Colorado
Posts: 573
Hawiian Cadder is a name known to allHawiian Cadder is a name known to allHawiian Cadder is a name known to allHawiian Cadder is a name known to allHawiian Cadder is a name known to allHawiian Cadder is a name known to all
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.
  #30   Spotlight this post!  
Unread 19-03-2012, 18:30
baronep's Avatar
baronep baronep is offline
Student President
FRC #2848 (Jesuit All-Sparks)
Team Role: Leadership
 
Join Date: Jan 2010
Rookie Year: 2010
Location: Dallas TX
Posts: 167
baronep is on a distinguished road
Re: Flywheels and Shooter Wheels

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.
Attached Thumbnails
Click image for larger version

Name:	PIDBlock.png
Views:	49
Size:	38.0 KB
ID:	12358  Click image for larger version

Name:	PIDFront.png
Views:	27
Size:	44.9 KB
ID:	12359  
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 04:32.

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