Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   Drivetrain Control Systems (http://www.chiefdelphi.com/forums/showthread.php?t=112140)

bvisness 31-01-2013 21:56

Re: Drivetrain Control Systems
 
Our driver definitely prefers the Kaj drive. We had a shifting drivetrain last year, and this year we will be trying to shift automatically (although the code is currently untested.) We use two Logitech Attack3 joysticks for driving. (I cannot imagine trying to drive with a gamepad.)

We'll be using a 6-wheel dropped center drivetrain this year. Last year's drivetrain was actually much more interesting - we had 10 4-inch wheels, with the middle 3 on each side dropped.

We'll probably put parking brakes on our robot again this year for good measure.

apalrd 31-01-2013 23:56

Re: Drivetrain Control Systems
 
Quote:

Originally Posted by bvisness (Post 1225599)
and this year we will be trying to shift automatically (although the code is currently untested.)

Shifting automatically is hard.

I speak as a person who has done exactly that on an FRC robot, and someone who has actually read the logic of a real automatic transmission.

There are a lot of variables to consider, and a lot of shift points to calibrate for each variable.

There are many specific conditions to autoshift and many specific conditions to not autoshift. You have to detect all or the majority of them and act accordingly.

toastnbacon 01-02-2013 10:21

Re: Drivetrain Control Systems
 
We've used several different controls. We had a holonomic drive one year, we were constantly switching between an Xbox controller and a KOP joystick. We've started using tank drive when our programmer became our driver as well. I think it really helps when you know what the code is doing, almost everyone else has trouble with tank drive. It could also just be the fact we have a really young team.

As for the actual drive train,we don't go too crazy. We used casters a few years ago, and the amount of success (or lack there of) we had has made us a little nervous about using an incredibly innovative drive train.

Saberbot 01-02-2013 16:13

Re: Drivetrain Control Systems
 
For those of you that do kan on a Logitech gamepad, what kind of scaling/filtering do you do on the joystick outputs? We've found that there is a pretty loose tolerance on the zero position (up to +/-.3). We've thought about recalibrating the sticks to 0 in initialization, but we're curious about what has worked for other teams.

z_beeblebrox 01-02-2013 17:35

Re: Drivetrain Control Systems
 
Quote:

Originally Posted by Saberbot (Post 1226018)
For those of you that do kan on a Logitech gamepad, what kind of scaling/filtering do you do on the joystick outputs? We've found that there is a pretty loose tolerance on the zero position (up to +/-.3). We've thought about recalibrating the sticks to 0 in initialization, but we're curious about what has worked for other teams.

I'm using an RC car controller, but I've been taking the square root of the x axis and multiplying it by .75. This gives better control at more normal turn rates and keeps the robot from spinning at ludicrous speeds. I've also added a .1 deadband to the joysticks to eliminate unintended slow movements.

Ether 01-02-2013 18:37

Re: Drivetrain Control Systems
 

This might be of interest to readers of this thread.



Brian Ha 01-02-2013 23:46

Re: Drivetrain Control Systems
 
I think i'm going to have to agree with Andrew on this one. Going down the auto shifting path is one you don't want to try. If it isn't done perfect, your driver will have some issues and eventually your shifters will be kaput. Just my word of advice. Your driver should be able to multi-manage enough that they can shift himself, and if they can't, practice.

Mr. Lim 02-02-2013 01:22

Re: Drivetrain Control Systems
 
Quote:

Originally Posted by Saberbot (Post 1226018)
For those of you that do kan on a Logitech gamepad, what kind of scaling/filtering do you do on the joystick outputs? We've found that there is a pretty loose tolerance on the zero position (up to +/-.3). We've thought about recalibrating the sticks to 0 in initialization, but we're curious about what has worked for other teams.

Most years, we just cube the raw values from the joystick axes before doing any math with them (i.e. Kaj Drive).

This makes the zero-centered position a bit "bigger," but also makes fine motions and turns available throughout a bigger range of motion on the sticks. It also still allows full power when you push all the way.

It's not perfect, but it's quick and it works pretty well.

bvisness 02-02-2013 16:02

Re: Drivetrain Control Systems
 
Quote:

Originally Posted by apalrd (Post 1225671)
Shifting automatically is hard.

I speak as a person who has done exactly that on an FRC robot, and someone who has actually read the logic of a real automatic transmission.

There are a lot of variables to consider, and a lot of shift points to calibrate for each variable.

There are many specific conditions to autoshift and many specific conditions to not autoshift. You have to detect all or the majority of them and act accordingly.

Well, interestingly, we're actually using an adapted version of your code to run our autoshifting. :) How well did it work for you? I like that you thought through the different cases so well, but I'm not sure how it will work on our bot.

apalrd 02-02-2013 18:45

Re: Drivetrain Control Systems
 
It works pretty well.

The calibration takes a little while for all of the terms. We were unable to get the downshifts to be nice enough to use in competition, but the upshifts were awesome.

The algorihm really only works for open-field games with long runs when you gear the robot to accelerate for high speed and don't want to launch in high.

The kickdowns are the hardest to calibrate, since you have to cal an acceleration term. The upshifts have an accel term also, but it's easier to model. The purpose of the kickdown accel term is to downshift if you crash into something or another robot. The coastdown logic gets you back into low gear when you slow down to a stop.


All times are GMT -5. The time now is 21:34.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi