Go to Post The purpose of the game rules is not to imagine and categorically list everything you should not do, but to give you guidelines of FIRST's intent and leave it to your developing good judgment to know what's acceptable and what is simply skirting the rules. - Mark McLeod [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
  #1   Spotlight this post!  
Unread 14-12-2006, 17:55
StevenB StevenB is offline
is having FRC withdrawal symptoms.
AKA: Steven Bell
no team
Team Role: College Student
 
Join Date: May 2005
Rookie Year: 2005
Location: Stanford, CA
Posts: 416
StevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond repute
Automatic shifting software

Our team is working on a multi-speed drive system with using the DeWalt transmissions. It's my belief that we really need automatic shifting to make the most effective use of it. For those that have done this before, I have some questions:
What was the basic algorithm you followed?
What sensors did you use?
Were you able to make it shift without a major speed jolt when going up or down, and how?

In the NBD whitepaper, Joe P. mentions something about using "software syncronization" to acheive smoother shifting. I'm guessing this involves shifting into "neutral", matching the input and output speeds to the correct ratio, and then shifting into gear. Is this correct, and could someone explain how they made it work?
Thanks!
__________________
Need a physics refresher? Want to know if that motor is big enough for your arm? A FIRST Encounter with Physics

2005-2007: Student | Team #1519, Mechanical Mayhem | Milford, NH
2008-2011: Mentor | Team #2359, RoboLobos | Edmond, OK
2014-??: Mentor | Looking for a team...
  #2   Spotlight this post!  
Unread 14-12-2006, 20:55
Rickertsen2 Rickertsen2 is offline
Umm Errr...
None #1139 (Chamblee Gear Grinders)
Team Role: Alumni
 
Join Date: Dec 2002
Rookie Year: 2002
Location: ATL
Posts: 1,421
Rickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant future
Send a message via AIM to Rickertsen2 Send a message via Yahoo to Rickertsen2
Re: Automatic shifting software

You could create tables of absolute joystick position vs rpm. There would be such tables to indicate when to upshift and tables to show when to downshift. This is how the shifting works in many cars.

The tables would basically say "if you are at 10% joystick, wait till x rpm to upshift" or "if you are at 30% joystick wait till y rpm to downshift. The tables would be setup so that at higher throttle, shifts occur sooner. At lower throttle, when you don't need the extra torque shifts would occur later. There would be some hysteresis in the system. The upshift and downshift points for each gear would differ to avoid excessive shifting. Perhaps an override in the form of a "low" switch could be provided for pushing matches or percision maneuvers.

The approach would obviously necessitate some means of measuring rpm.

I think that you could draw a parallel between racecars and FIRST Robots. For the same reason you don't see automatic racecars i don't know that it would necessarily be and advantage to have an automatic FIRST robot. One of the things that makes a good robot is predictibility. When you shift the chanracteristics of the robot change. If they change when you don't want them to, the robot is less predictible. I think that a well trained driver may be better than an automatic shifting algorithm. Once you get used to a manual, its not hard. I've never driven a FIRST robot with a shifter but i would assume that applies to robots as well.
__________________
1139 Alumni
  #3   Spotlight this post!  
Unread 14-12-2006, 21:22
Jonathan Norris Jonathan Norris is offline
Jno
FRC #0610 (Crescent Robotics)
Team Role: Mentor
 
Join Date: Nov 2005
Rookie Year: 2004
Location: Toronto
Posts: 1,082
Jonathan Norris has a reputation beyond reputeJonathan Norris has a reputation beyond reputeJonathan Norris has a reputation beyond reputeJonathan Norris has a reputation beyond reputeJonathan Norris has a reputation beyond reputeJonathan Norris has a reputation beyond reputeJonathan Norris has a reputation beyond reputeJonathan Norris has a reputation beyond reputeJonathan Norris has a reputation beyond reputeJonathan Norris has a reputation beyond reputeJonathan Norris has a reputation beyond repute
Re: Automatic shifting software

I can see the theoretical appeal to an automatic shifting system, but the practical application is not as clear. The ultimate horror situation I can think of with an automatic shifting system, is if you are in a pushing match with another robot and your software decides to shift you into a lower gear. But because of this extra force on your robot the shifting does not work properly, I have had this situation with a dog-shifting system. Theoretically this seems like a good idea, but practically I am not sure its necessary or as advantageous as it seems. Possibly the best solution would be a mix of automatic shifting with some operator control still involved.
__________________
Co-Founder of Taplytics.com
2013 World Champions (1241, 1477, 610)
Crescent Robotics Team 610 Mentor
K-Botics Team 2809 Founding Mentor ('09-'11)
Queen's University Mechanical Engineering, Applied Science '11

Crescent Robotics Team 610 Alumni
  #4   Spotlight this post!  
Unread 15-12-2006, 12:25
jagman2882 jagman2882 is offline
former driver, now mentor
AKA: Cory Gramlich
FRC #1126 (SparX)
Team Role: College Student
 
Join Date: Mar 2004
Rookie Year: 2003
Location: Webster,NY
Posts: 129
jagman2882 has a spectacular aura aboutjagman2882 has a spectacular aura aboutjagman2882 has a spectacular aura about
Send a message via AIM to jagman2882
Re: Automatic shifting software

1126 began using an iteration of killer bees 4 speed transmittion in 2005 and again last year. we have never had a problem of the computer shifting and not engaging...we have used shaft encoders count the revolutions and then have a program telling the bot when to upshift or downshift...IMO it has been the greatest thing that we have done...it is reliable and slick...im not quite sure of what the exact software is but good luck on the automatic...again we have never had a problem with it coming out of gear or ne thing like that...we never worry about it
__________________
2003-2008 Match record 132-59-1
'04 Newton Division Champ, '06 Galileo Division Champ
'03, '04, '08 Buckeye Champs, '07 Finalist
'06 Finger Lakes Champs, '08 Finalists
'08 Buckeye Motorola Quality Award
'07 Buckeye General Motors Industrial Design Award
'05 Buckeye Radioshack Inovation in Control award, '06, '07 Finger Lakes Rockwell Automation Innovation in Control Award

  #5   Spotlight this post!  
Unread 17-12-2006, 14:25
Mike Bortfeldt Mike Bortfeldt is offline
Registered User
FRC #1126 (& 1511)
Team Role: Mentor
 
Join Date: Oct 2004
Rookie Year: 2004
Location: Rochester, NY
Posts: 119
Mike Bortfeldt has much to be proud ofMike Bortfeldt has much to be proud ofMike Bortfeldt has much to be proud ofMike Bortfeldt has much to be proud ofMike Bortfeldt has much to be proud ofMike Bortfeldt has much to be proud ofMike Bortfeldt has much to be proud ofMike Bortfeldt has much to be proud of
Re: Automatic shifting software

To expand a little on what Cory has already said...

We have had an automatic transmission for the past two years. The current iteration has quadrature encoders on the output shaft of each transmission and this signal is converted to the actual robot speed (in inches/sec) which is used throughout the rest of the code (each encoder generates approximately 2500 interrupts/sec at full speed and a timer with a resolution of 250 microseconds is used for the calculation). The transmission up shifts at speed points calculated mostly based on the output torque curves of the motors (maximize acceleration). Since both or our transmissions are paralleled off the same solenoids, the robot speed is determined by the average of the absolute value of each drive system. Typically, a difference of 8 in/sec is used between the down shift points and the up shift points to prevent the system from unnecessary cycling between 2 gears. For example, switching from second to third gear might occur at 32 in/sec but switching back down into second from third would occur at 24 in/sec. Also, to eliminate erroneous shifting, especially when starting or stopping, the shift points must be exceeded for two consecutive calls to Process_Data_From_Master_uP (about 50 ms).

As Jonathan has mentioned, when the transmission is under very high loads, it has a tendency to not properly shift gears. We noticed this during some of our initial tests. To minimize this from occurring, we temporarily limit the output to the motors to a maximum of about 15% of full power while the shifting takes place. The drop in power is not really noticeable as it only occurs for only a small fraction of a second.

The system also has 1st gear override which is enabled when holding the joystick trigger for use when pushing (or for last year’s game, climbing the ramp). As with most of our automated systems, there is the capability of switching into a completely manual mode in the event of an encoder failure or the like.
Have fun working on this project. We have found it extremely beneficial.

Mike

Last edited by Mike Bortfeldt : 17-12-2006 at 14:29.
  #6   Spotlight this post!  
Unread 17-12-2006, 20:23
jagman2882 jagman2882 is offline
former driver, now mentor
AKA: Cory Gramlich
FRC #1126 (SparX)
Team Role: College Student
 
Join Date: Mar 2004
Rookie Year: 2003
Location: Webster,NY
Posts: 129
jagman2882 has a spectacular aura aboutjagman2882 has a spectacular aura aboutjagman2882 has a spectacular aura about
Send a message via AIM to jagman2882
Re: Automatic shifting software

thanks mike....i really didnt know any of the software stuff which is really really important and makes the whole thing work
__________________
2003-2008 Match record 132-59-1
'04 Newton Division Champ, '06 Galileo Division Champ
'03, '04, '08 Buckeye Champs, '07 Finalist
'06 Finger Lakes Champs, '08 Finalists
'08 Buckeye Motorola Quality Award
'07 Buckeye General Motors Industrial Design Award
'05 Buckeye Radioshack Inovation in Control award, '06, '07 Finger Lakes Rockwell Automation Innovation in Control Award

  #7   Spotlight this post!  
Unread 18-12-2006, 18:12
StevenB StevenB is offline
is having FRC withdrawal symptoms.
AKA: Steven Bell
no team
Team Role: College Student
 
Join Date: May 2005
Rookie Year: 2005
Location: Stanford, CA
Posts: 416
StevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond repute
Re: Automatic shifting software

I plan on having manual override, just in case.
Does the robot jolt when you shift, and do you compensate for this somehow?
__________________
Need a physics refresher? Want to know if that motor is big enough for your arm? A FIRST Encounter with Physics

2005-2007: Student | Team #1519, Mechanical Mayhem | Milford, NH
2008-2011: Mentor | Team #2359, RoboLobos | Edmond, OK
2014-??: Mentor | Looking for a team...
  #8   Spotlight this post!  
Unread 18-12-2006, 19:24
efoote868 efoote868 is offline
foote stepped in
AKA: E. Foote
FRC #0868
Team Role: Mentor
 
Join Date: Mar 2006
Rookie Year: 2005
Location: Noblesville, IN
Posts: 1,426
efoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond repute
Re: Automatic shifting software

Our team purchased 2 AM servo shifters, so its now the programmers job to mess with them a bit.

I think with what we're going to do is have automatic shifting, once a gear-tooth counter counts to whatever, then decrease motor outputs automatically, and then "gradually" bring them back up to speed, depending where the joy is at.

We also plan to have a switch to manually override the shifting... low, high, auto.

Hope this helps!
__________________

Be Healthy. Never Stop Learning. Say It Like It Is. Own It. Like our values? Flexware Innovation is hiring!. We're looking for Senior Automation, Software, and System Engineers. Check us out!
  #9   Spotlight this post!  
Unread 19-12-2006, 15:24
Tom Bottiglieri Tom Bottiglieri is offline
Registered User
FRC #0254 (The Cheesy Poofs)
Team Role: Engineer
 
Join Date: Jan 2004
Rookie Year: 2003
Location: San Francisco, CA
Posts: 3,189
Tom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond reputeTom Bottiglieri has a reputation beyond repute
Re: Automatic shifting software

Quote:
Originally Posted by efoote868 View Post
Our team purchased 2 AM servo shifters, so its now the programmers job to mess with them a bit.

I think with what we're going to do is have automatic shifting, once a gear-tooth counter counts to whatever, then decrease motor outputs automatically, and then "gradually" bring them back up to speed, depending where the joy is at.

We also plan to have a switch to manually override the shifting... low, high, auto.

Hope this helps!
Remember, it will take about half a second for the servo shifters to change gears. It seems unless you have a rock solid shifting algorithm, you will be wasting a lot of time on the field going nowhere and may experience quite a bit of "shift shock".
  #10   Spotlight this post!  
Unread 19-12-2006, 15:58
Unsung FIRST Hero
Greg Marra Greg Marra is offline
[automate(a) for a in tasks_to_do]
FRC #5507 (Robotic Eagles)
Team Role: Mentor
 
Join Date: Oct 2004
Rookie Year: 2005
Location: San Francisco, CA
Posts: 2,031
Greg Marra has a reputation beyond reputeGreg Marra has a reputation beyond reputeGreg Marra has a reputation beyond reputeGreg Marra has a reputation beyond reputeGreg Marra has a reputation beyond reputeGreg Marra has a reputation beyond reputeGreg Marra has a reputation beyond reputeGreg Marra has a reputation beyond reputeGreg Marra has a reputation beyond reputeGreg Marra has a reputation beyond reputeGreg Marra has a reputation beyond repute
Re: Automatic shifting software

Personally, I think that a driver should be able to handle shifting during a match himself. I find that usually you don't need to shift more than 5 or 6 times tops per match. Having the robot shift on its own seems prone to unwanted behavior.

Unless you can make the robot shift better than a person (like a CMUCam aims better than a person), why make it do it?
  #11   Spotlight this post!  
Unread 19-12-2006, 19:22
JessR JessR is offline
Registered User
#0571 (Team Paragon)
Team Role: Engineer
 
Join Date: Dec 2003
Location: Windsor, CT
Posts: 27
JessR will become famous soon enough
Re: Automatic shifting software

We have used a 2 speed tranny with encoder driven autoshifting the past 2 years and find it works well. As with Sparx above, we have offset the upshift & downshift points. We also reduce power for the 1/4 second or so it takes to shift.
Similarly our (homemade) 2 channel encoders give a quadrature signal that lets the software keep an absolute count & if you're going forwards or backwards.
Note in software you can 'have it all":
A toggle switch on the driver controls is labeled 'auto - manual'
In manual mode the trigger upshifts & thumb button downshifts.

With velocity based shifting, autoshift is just the thing for those closing seconds when you are distracted, burnt out & need to just peg the joysticks and head for home.
__________________
2004 UTC New England Champions with 716 & 230

Engineering Lead
Team Paragon #571
  #12   Spotlight this post!  
Unread 19-12-2006, 21:26
Alan Anderson's Avatar
Alan Anderson Alan Anderson is offline
Software Architect
FRC #0045 (TechnoKats)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2004
Location: Kokomo, Indiana
Posts: 9,113
Alan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond repute
Re: Automatic shifting software

Quote:
Originally Posted by Greg Marra View Post
Unless you can make the robot shift better than a person (like a CMUCam aims better than a person), why make it do it?
The thing is, you can make the robot shift better than a person. A well-programmed robot knows how fast it's going, knows what gear will provide the best power at that speed, and knows how to make the shift smoothly.
  #13   Spotlight this post!  
Unread 25-12-2006, 08:16
StevenB StevenB is offline
is having FRC withdrawal symptoms.
AKA: Steven Bell
no team
Team Role: College Student
 
Join Date: May 2005
Rookie Year: 2005
Location: Stanford, CA
Posts: 416
StevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond reputeStevenB has a reputation beyond repute
Re: Automatic shifting software

Has anyone done automatic shifting with the DeWalt transmissions? Are there things about them that make shifting different?
__________________
Need a physics refresher? Want to know if that motor is big enough for your arm? A FIRST Encounter with Physics

2005-2007: Student | Team #1519, Mechanical Mayhem | Milford, NH
2008-2011: Mentor | Team #2359, RoboLobos | Edmond, OK
2014-??: Mentor | Looking for a team...
  #14   Spotlight this post!  
Unread 25-12-2006, 10:16
chris31 chris31 is offline
Team 2021 Captain
AKA: Chris Davidson
FRC #2021 (FA Robotics)
Team Role: Mentor
 
Join Date: Nov 2005
Rookie Year: 2006
Location: Atlanta, GA/ Fredericksburg,VA
Posts: 949
chris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond reputechris31 has a reputation beyond repute
Send a message via AIM to chris31
Re: Automatic shifting software

Taking what Alan, Jess and Greg said I think that the best idea is to have an manual and auto switch. That way the user can control it when he/she needs to and then turn on auto when it would best be done by the robot calculations.
  #15   Spotlight this post!  
Unread 13-01-2007, 21:50
gnirts gnirts is offline
Suspicious pointer conversion
AKA: Robinson Levin
FRC #1648 (The Gearbox Gangstaz)
Team Role: Programmer
 
Join Date: Jan 2006
Rookie Year: 2005
Location: ATL
Posts: 116
gnirts will become famous soon enough
Question Re: Automatic shifting software

How does one figure out at what RPM/velocity/joystick position shifting is ideal? (We are using four small CIMs and Dewault transmissions.)

And how should the lookup table be structured? Why should it be joystick (throttle) position vs. speed? In a manual shifting car you get back RPM (tachometer) vs. speed (speedometer) and shift based on that (I think...). So shouldn't you shift up when your motors reach a certain RPM, while lowering power to the motors to maintain constant speed? That way you can continue going faster.

Thanks in advance,
Robinson
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

Similar Threads
Thread Thread Starter Forum Replies Last Post
Automatic Power Swampcoder2 Control System 6 03-02-2005 17:08
Automatic Power Swampcoder2 Electrical 6 03-02-2005 17:08
automatic loading zone vaheedr General Forum 3 22-01-2005 14:57
Automatic Shifting Algorithm phrontist Programming 10 29-07-2004 22:47
automatic archiving Joe Ross CD Forum Support 5 04-08-2003 13:27


All times are GMT -5. The time now is 14:17.

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