Go to Post We’ve been chasing perfection since 2003 in the hopes of catching excellence. - Karthik [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 09-06-2011, 22:14
ttldomination's Avatar
ttldomination ttldomination is offline
Sunny
no team
Team Role: Mentor
 
Join Date: Mar 2007
Rookie Year: 2007
Location: Roanoke, TX
Posts: 2,066
ttldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond reputettldomination has a reputation beyond repute
Getting the bot to go straight?

Hello Everyone,

A while back, I read on these forums that adding a 1:1 reduction in a gearbox is a hardware solution to prevent the robot from veering to one side.

I was wondering if anyone could explain this.

Appreciate it,
Sunny G.
__________________
1261: 2007-2012
1648: 2013-2014
5283: 2015
  #2   Spotlight this post!  
Unread 09-06-2011, 23:20
Jared Russell's Avatar
Jared Russell Jared Russell is offline
Taking a year (mostly) off
FRC #0254 (The Cheesy Poofs), FRC #0341 (Miss Daisy)
Team Role: Engineer
 
Join Date: Nov 2002
Rookie Year: 2001
Location: San Francisco, CA
Posts: 3,078
Jared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond repute
Re: Getting the bot to go straight?

I think you must be mis-remembering. Gearing both sides (left and right) of a differential drive together with a 1:1 ratio IS a surefire way to drive straight*, but good luck turning Otherwise, there is nothing magical about a 1:1 ratio (perhaps in the old days with heavily biased drill motors, using an extra 1:1 ratio would let both motors spin CW/CCW at the same time, but in the CIM era, this is a much more minor issue).

In general, there are a few strategies teams use to drive straighter:

1. Pay close attention to the mechanics. Alignment. Weight distribution. Friction in the drivetrain. Everything on the left should look and feel like everything on the right (always a good idea).

2. Using encoders. When you are driving perfectly straight, the left and right encoders should report the same speed and distance traveled. But when you are veering, one side moves faster than the other. You can write code to automatically boost the power on the slower side or lower the power on the faster side to force the bot to go straight (a good application for a PID controller).

3. Using gyros. Gyros provide you with angular rate information (how fast you are turning). Integrate their output over time (e.g. sum it all up) and you get the heading of the robot. A perfectly straight robot should have 0 angular rate, or in other words, should maintain the same heading. Similar to above, you can write code to tell the bot to adjust motor power to fight any heading changes that you see.

*Assuming everything is aligned, weight is reasonably balanced, etc.
  #3   Spotlight this post!  
Unread 09-06-2011, 23:57
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: Getting the bot to go straight?

with the drill motors that was an issue. cims gain bias the older and/or more used they are, so i would recommend against using cims from prior robots, or more than 2-3 years old. (replace the motor, keep the gearbox, if you are worried about costs.)

our team used to always use drive straight code. this year, for the first time since i joined the team, the robot drives perfectly straight, without any code.
  #4   Spotlight this post!  
Unread 10-06-2011, 00:28
Thermal's Avatar
Thermal Thermal is offline
Drive Team Coach
AKA: Ryan Brown
FRC #1293 (D5 Robotics)
Team Role: Mentor
 
Join Date: Oct 2008
Rookie Year: 2007
Location: Columbia, SC
Posts: 153
Thermal is a splendid one to beholdThermal is a splendid one to beholdThermal is a splendid one to beholdThermal is a splendid one to beholdThermal is a splendid one to beholdThermal is a splendid one to beholdThermal is a splendid one to beholdThermal is a splendid one to behold
Re: Getting the bot to go straight?

A longer wheel base will also improve your bots ability to drive in a straight line. (Notice: This also makes turning your robot much more difficult. Which.. well... is why your bot will drive straighter....)
__________________
D5 Robotics: Member since 2007
Drive Team Coach, Design Mentor
Palmetto Regional attendee 2007-2011
2009 QF, 2010 SF, 2011 SF
  #5   Spotlight this post!  
Unread 10-06-2011, 02:03
Molten's Avatar
Molten Molten is offline
Registered User
AKA: Jason
FRC #1766 (Temper Metal)
Team Role: Mentor
 
Join Date: Dec 2006
Rookie Year: 2006
Location: Indiana
Posts: 2,289
Molten has a reputation beyond reputeMolten has a reputation beyond reputeMolten has a reputation beyond reputeMolten has a reputation beyond reputeMolten has a reputation beyond reputeMolten has a reputation beyond reputeMolten has a reputation beyond reputeMolten has a reputation beyond reputeMolten has a reputation beyond reputeMolten has a reputation beyond reputeMolten has a reputation beyond repute
Re: Getting the bot to go straight?

I'm noticing a trend. If your robot needs to drive straight, the solution is to make it impossible to turn. That should basically fix all your problems. Just as long as you don't have to turn at some point.

Jason
__________________
"Curiosity. Not good for cats, great for scientists."- Numb3rs

"They can break your cookie, but... you'll always have your fortune."-T.W. Turtle, Cats Don't Dance

"Tell my tale to those who ask. Tell it truly - the ill deeds along with the good, and let me be judged accordingly. The rest... is silence."-Dinobot, Beast Wars

"Though the first step is the hardest and the last step ends the quest, the long steps in between are certainly the best."
–Gruffi Gummi, Disney's Adventures of the Gummi Bears
  #6   Spotlight this post!  
Unread 10-06-2011, 09:03
Unsung FIRST Hero
JVN JVN is offline
@JohnVNeun
AKA: John Vielkind-Neun
FRC #0148 (Robowranglers)
Team Role: Engineer
 
Join Date: May 2001
Rookie Year: 2000
Location: Greenville, Tx
Posts: 3,159
JVN has a reputation beyond reputeJVN has a reputation beyond reputeJVN has a reputation beyond reputeJVN has a reputation beyond reputeJVN has a reputation beyond reputeJVN has a reputation beyond reputeJVN has a reputation beyond reputeJVN has a reputation beyond reputeJVN has a reputation beyond reputeJVN has a reputation beyond reputeJVN has a reputation beyond repute
Re: Getting the bot to go straight?

Quote:
Originally Posted by ttldomination View Post
Hello Everyone,

A while back, I read on these forums that adding a 1:1 reduction in a gearbox is a hardware solution to prevent the robot from veering to one side.

I was wondering if anyone could explain this.

Appreciate it,
Sunny G.
Elaborating on what Jared said...
The old Drill Motors were biased to run faster forwards than in reverse. A typical skid-steer drivetrain with 1 of these motors on each side would be built such that to drive forward these motors would be spinning in opposite directions. The motor bias would then cause the robot to veer to one side (since one side of the drive is running faster than the other).

A way to counter-act this, is to add another 1:1 gear stage inside one side of the drivetrain. Spur gears reverse the direction of motion. So if you add one additional stage to one side, you reverse the direction of motion. This would serve to ensure that both motors are running in the same direction, and eliminates any worry about motor bias. (Of course you make it a 1:1 stage, because you don't want to change the overall gear ratio for this gearbox).

Back in the day, this wasn't a huge issue since there was no autonomous mode. Drivers typically just "dealt with it." In 2003 and 2004 (the 2 years involving both Autonomous mode AND drill motors) many teams came up with different solutions to make their robots track a little straighter. Some teams simply dealt with it by adding a voltage bias to their drivetrain (i.e. applying slightly less voltage to the "fast" side of the drive). Other teams implemented a mechanical solution similar to the one you described. Still other teams implemented some "go straight" code which utilized sensor feedback from the wheels to ensure they are spinning the same speed.

Now-a-days in the "modern era of the CIM motor" we don't really need to worry about motor bias, since CIMs are neutrally biased (they spin about the same forward & reverse).

People still implement go-straight code, but not for the reason described above. The "additional 1:1 reduction" mechanical solution will NOT help a robot with CIM motors drive straight.

-John
__________________
In the interest of full disclosure: I work for VEX Robotics a subsidiary of Innovation First International (IFI) Crown Supplier & Proud Supporter of FIRST

Last edited by JVN : 10-06-2011 at 09:10.
  #7   Spotlight this post!  
Unread 10-06-2011, 09:10
Unsung FIRST Hero
JVN JVN is offline
@JohnVNeun
AKA: John Vielkind-Neun
FRC #0148 (Robowranglers)
Team Role: Engineer
 
Join Date: May 2001
Rookie Year: 2000
Location: Greenville, Tx
Posts: 3,159
JVN has a reputation beyond reputeJVN has a reputation beyond reputeJVN has a reputation beyond reputeJVN has a reputation beyond reputeJVN has a reputation beyond reputeJVN has a reputation beyond reputeJVN has a reputation beyond reputeJVN has a reputation beyond reputeJVN has a reputation beyond reputeJVN has a reputation beyond reputeJVN has a reputation beyond repute
Re: Getting the bot to go straight?

The past two seasons, team 148 has utilized an articulating drivetrain. The robot shifts from one set of wheels to another via pneumatics. One of these sets of wheels consists of (4) high-traction wheels, spread to the outer 4 corners of the robot in "narrow/long body" configuration. This configuration of wheels makes it VERY difficult for the robot to turn due to the scrub forces of these wheels -- in addition... it makes it hard for the robot to BE turned. This "traction mode" keeps the robot driving straight as an arrow.

If we are ever in a situation where we need to push forward in a straight line (like autonomous this year), we run in this traction mode. For normal moving around the field, we use our other drivetrain mode.

For more information on drivetrain turning, and scrub forces... check out the math in Chris Hibner's whitepaper:
http://www.chiefdelphi.com/media/papers/1443

Note... articulating drivetrains aren't for everyone. There is some added complexity over a "standard" style drive. However, we on 148 like the benefits that come with such a drive.

Whatever solution you decide to go with for driving straight, be it a software or mechanical solution, I strongly urge you to work to develop / test it during the off-season. What else were you going to do this summer anyways? Sleep?

-John
__________________
In the interest of full disclosure: I work for VEX Robotics a subsidiary of Innovation First International (IFI) Crown Supplier & Proud Supporter of FIRST
  #8   Spotlight this post!  
Unread 10-06-2011, 09:26
Eric222 Eric222 is offline
Registered User
FRC #0222 (Tigertrons)
Team Role: Student
 
Join Date: Jan 2011
Rookie Year: 2009
Location: Tunkhannock
Posts: 17
Eric222 is an unknown quantity at this point
Re: Getting the bot to go straight?

P.S. - It always helps to check and make sure that the jumpers are all in the same position on the victors (either coast or brake).
  #9   Spotlight this post!  
Unread 21-06-2011, 23:50
JamesTerm's Avatar
JamesTerm JamesTerm is offline
Terminator
AKA: James Killian
FRC #3481 (Bronc Botz)
Team Role: Engineer
 
Join Date: May 2011
Rookie Year: 2010
Location: San Antonio, Texas
Posts: 298
JamesTerm is a splendid one to beholdJamesTerm is a splendid one to beholdJamesTerm is a splendid one to beholdJamesTerm is a splendid one to beholdJamesTerm is a splendid one to beholdJamesTerm is a splendid one to beholdJamesTerm is a splendid one to behold
Re: Getting the bot to go straight?

"
The old Drill Motors were biased to run faster forwards than in reverse
"

We found a similar symptom to happen with our robot and I believe we are using CIM. Basically when appling equal voltage say 0.08 on both motors only one side would run while the other did not. I've applied a software solution that removes the "dead-zone" like what you can do for joysticks, and then linear interpolate the rest of the values. With the wheels on drive blocks I can see this appears to work, but I have not yet tested on the ground. I feel confident that a software solution could work even if it requires an exhaustive attempt to plot a graph of several points to obtain the derivative for each side. I think voltage applied to the motors only are linear, but due to the chains and other static friction it makes it appear more logrithmic. Unfortunately one of our encoders is still defected (returns NAN), and we are all too mechanically challenged to fix it. So I am hoping for a miracle with tweaking the voltage distribution (or hope to get team to install a gyro).

I've added more details (and videos) on my blog here:
http://www.termstech.com/articles/
  #10   Spotlight this post!  
Unread 23-06-2011, 23:10
JamesTerm's Avatar
JamesTerm JamesTerm is offline
Terminator
AKA: James Killian
FRC #3481 (Bronc Botz)
Team Role: Engineer
 
Join Date: May 2011
Rookie Year: 2010
Location: San Antonio, Texas
Posts: 298
JamesTerm is a splendid one to beholdJamesTerm is a splendid one to beholdJamesTerm is a splendid one to beholdJamesTerm is a splendid one to beholdJamesTerm is a splendid one to beholdJamesTerm is a splendid one to beholdJamesTerm is a splendid one to behold
Re: Getting the bot to go straight?

We found a similar symptom to happen with our robot and I believe we are using CIM. Basically when appling equal voltage say 0.08 on both motors only one side would run while the other did not. I've applied a software solution that removes the "dead-zone" like you can do for joysticks, and the linear interpolate the rest of the values. This alone appears to improve the problem, and probably well enough to conduct autonomous... we'll just compensate for the slight turn... since it is consistent we can make something work. I'll want to pursue the gyro solution as time allows (especially for next season).
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 18:30.

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