View Single Post
  #6   Spotlight this post!  
Unread 30-12-2012, 14:39
apalrd's Avatar
apalrd apalrd is offline
More Torque!
AKA: Andrew Palardy (Most people call me Palardy)
VRC #3333
Team Role: College Student
 
Join Date: Mar 2009
Rookie Year: 2009
Location: Auburn Hills, MI
Posts: 1,347
apalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond repute
Re: Programming for a Shifting Gearbox

Since it's in the code release anyway, I guess I'll write out the shift conditions we used. Assume that we Abs all of the inputs first so there's no directionality differences.

Any shift auto shift:
-No shift in last 500ms
-Stick differential threshold limit to prevent shifting while turning (for tank drive skid steer). This is pre-Abs of throttles.

Upshift (power-on upshift):
-Throttles min (already in ft/sec) 20% greater than shift point FPS
-Acceleration of throttles not negative (with some deadband for noise)
-Wheel acceleration rate greater than constant
-Output speed greater than shift point

Downshift (kickdown):
-Gearbox output speed < 8fps or so (slightly higher than or equal to our peak speed in the lower gear)
-Throttles > 80%
-Wheel acceleration rate is negative and below a constant (vehicle is rapidly decelerating)

Downshift (coastdown):
-Gearbox output speed < 2fps

We don't do any special execution of the shift. Once we have decided to shift, we set the pneumatic solenoids and are done for at least 500ms.
__________________
Kettering University - Computer Engineering
Kettering Motorsports
Williams International - Commercial Engines - Controls and Accessories
FRC 33 - The Killer Bees - 2009-2012 Student, 2013-2014 Advisor
VEX IQ 3333 - The Bumble Bees - 2014+ Mentor

"Sometimes, the elegant implementation is a function. Not a method. Not a class. Not a framework. Just a function." ~ John Carmack