Go to Post It makes you wonder what sort of sick, twisted mind would do such a thing to all those innocent teams out there... - dlavery [more]
Home
Go Back   Chief Delphi > Technical > Control System
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 20-03-2013, 15:34
notmattlythgoe's Avatar
notmattlythgoe notmattlythgoe is online now
Flywheel Police
AKA: Matthew Lythgoe
FRC #2363 (Triple Helix)
Team Role: Mentor
 
Join Date: Feb 2010
Rookie Year: 2009
Location: Newport News, VA
Posts: 1,717
notmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond reputenotmattlythgoe has a reputation beyond repute
Controlling variance in drive train

What methods do other teams use to control the difference in speed between the two sides of your drive train in both autonomous and in teleop?

This year we used encoders to find ratios for each side of the drive train in each direction and scaled the output for each side depending it if the robot was running forwards or backwards. It was decently successful, but I'm wondering if there are better options out there.
Reply With Quote
  #2   Spotlight this post!  
Unread 22-03-2013, 11:39
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,659
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: Controlling variance in drive train

We have a 'drive straight' method that takes in an encoder distance and runs a PID on it. Part of the processing loop is also a PID on the gyro, which affects turn calculations based upon offsets from the gyro.

In teleop we have the option for a 'drive straight' if the driver wants to use arcade mode (toggled via a button) -- but that's driver dependent. Last year it was hugely successful for driving up a bridge; this year it may be useful for driving at something. Otherwise it's up to the driver to worry about keeping the robot straight via 2-joystick tank drive. That way we always get 100% power forward/reverse when we need it.

The 'drive straight' code used to call a 'turn to angle' method, but I think the programmers stopped that after week 1. We kept the 'turn to angle' method for vision to use. We also may add in buttons on the driver's joystick so he can turn in 2 or 5 degree increments. This method resets the gyro at the start of every 'turnTo' command, so the robot has to be stable for valid data. It takes less than a second and is part of our 'ready-aim' sequence.

With direct drive WCD this year there's much less noticeable lurching of one side instead of the other during drive train takeoff. I attribute that to less backlash in the gears and the much better efficiency overall.

Waiting until week 5 for the first event is making me antsy . This drive train will fly once it hits the field.
__________________

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

Last edited by JesseK : 22-03-2013 at 11:45.
Reply With Quote
  #3   Spotlight this post!  
Unread 24-03-2013, 15:06
codedr codedr is offline
Registered User
FRC #0537
Team Role: Mentor
 
Join Date: Mar 2010
Rookie Year: 2009
Location: Wisconsin
Posts: 70
codedr will become famous soon enoughcodedr will become famous soon enough
Re: Controlling variance in drive train

We researched this. One solution is to make one side the master, and the other the slave.
You drive the master as you would normally, it's encoder output is the the PID target value for the slave.

Then if the slave is running slower than the master, the PID ensures it speeds up, and vice versa.
Reply With Quote
  #4   Spotlight this post!  
Unread 04-06-2013, 17:39
ekapalka's Avatar
ekapalka ekapalka is offline
Registered User
FRC #3216
 
Join Date: Dec 2012
Location: Bermuda
Posts: 277
ekapalka has a spectacular aura aboutekapalka has a spectacular aura about
Re: Controlling variance in drive train

I've been wondering how exactly this would be done with Mecanum wheels.
Quote:
make one side the master, and the other the slave
We did something like this for our drive, except for us the master was the motor which spun slowest at full speed and the slave was the fastest motor, so they would occasionally switch while driving.
Reply With Quote
  #5   Spotlight this post!  
Unread 29-01-2014, 02:14
puneeth.meruva puneeth.meruva is offline
MIT Class of 2019
AKA: Puneeth Meruva
FRC #1501 (Team T.H.R.U.S.T)
Team Role: Alumni
 
Join Date: Oct 2013
Rookie Year: 2012
Location: Fort Wayne, Indiana
Posts: 36
puneeth.meruva will become famous soon enoughpuneeth.meruva will become famous soon enough
Re: Controlling variance in drive train

We are a rookie team and we are trying to use java to program our robot. We are noticing that in both auton and teleop, the robot is drifting. Several of you have mentioned using PID's and either encoders or gyros. Could someone post sample code of how to do any of the aforementioned solutions for a 6-wheel drive?
Reply With Quote
  #6   Spotlight this post!  
Unread 29-01-2014, 08:58
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 8,063
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: Controlling variance in drive train

Quote:
Originally Posted by puneeth.meruva View Post
We are a rookie team and we are trying to use java to program our robot. We are noticing that in both auton and teleop, the robot is drifting. Several of you have mentioned using PID's and either encoders or gyros. Could someone post sample code of how to do any of the aforementioned solutions for a 6-wheel drive?
You could try this.


Reply With Quote
Reply


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 20:11.

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