Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Robot Showcase (http://www.chiefdelphi.com/forums/forumdisplay.php?f=58)
-   -   Team 121 Traction Control (http://www.chiefdelphi.com/forums/showthread.php?t=73383)

AlexD744 02-02-2009 23:45

Re: Team 121 Traction Control
 
Awesome turns.

Quote:

Originally Posted by Chris (Post 812075)
It's week four,

Shouldn't you guys be done the whole robot by now?

Are you kidding it took like us until the end of week thrree to start building.

windell747 03-02-2009 05:57

Re: Team 121 Traction Control
 
How do you ignore the backlash within the gearboxes?

JamesBrown 03-02-2009 08:47

Re: Team 121 Traction Control
 
Quote:

Originally Posted by skidmarks (Post 813081)
I'm going off topic from this team, but has any other team had success with traction control without an idler wheel? If so, please share! I am interested in hearing other success stories.

A similar algorithm can be used by using an accelerometer. By integrating acceleration you can get speed, this is the same information you would be getting from the idler wheel (combining rotational and linear speed can give you the difference in speed between the two sides of the bot with tank drive. comparing this to wheel speed measured by encoders (or estimated wheel speed based on pwm values) can indicate slip.

As a warning, error will compound much faster with the accelerometer method than with a follow wheel.



-James

Chadius012 03-02-2009 18:33

Re: Team 121 Traction Control
 
Can you post the program that you are using for the traction control, please :D

The difference between the two modes is huge!!! :ahh: :ahh: :ahh:

JM987 03-02-2009 18:34

Re: Team 121 Traction Control
 
traction control.... ahhhh;)

JVN 03-02-2009 18:37

Re: Team 121 Traction Control
 
Quote:

Originally Posted by Chadius012 (Post 813594)
Can you post the program that you are using for the traction control, please :D

The difference between the two modes is huge!!! :ahh: :ahh: :ahh:

So you feel entitled to get that "huge" advantage without any work?

skidmarks 03-02-2009 21:53

Re: Team 121 Traction Control
 
Quote:

Originally Posted by JamesBrown (Post 813292)
A similar algorithm can be used by using an accelerometer. By integrating acceleration you can get speed, this is the same information you would be getting from the idler wheel (combining rotational and linear speed can give you the difference in speed between the two sides of the bot with tank drive. comparing this to wheel speed measured by encoders (or estimated wheel speed based on pwm values) can indicate slip.

As far as I know, the accelerometer is way too noisy and inaccurate to result in an accurate velocity, much less get the velocity accurate enough to estimate the percentage of slip.:( If anyone has successfully done this, however, please tell! We are interested if anyone else has successfully done traction control without an idler wheel.

JamesBrown 03-02-2009 23:03

Re: Team 121 Traction Control
 
Quote:

Originally Posted by skidmarks (Post 813721)
As far as I know, the accelerometer is way too noisy and inaccurate to result in an accurate velocity, much less get the velocity accurate enough to estimate the percentage of slip.:( If anyone has successfully done this, however, please tell! We are interested if anyone else has successfully done traction control without an idler wheel.

It has been done, I am speaking from experience, not just offering a theoretical understanding. The kit accelerometer is not perfect but it will suffice. Alternatively you can purchase an more reliable one.

nathanww 03-02-2009 23:22

Re: Team 121 Traction Control
 
One doesn't neccesarily need to know velocity to use the accelerometer for TC--after all, traction control is all about maximizing your acceleration, and an accelerometer measures acceleration. 1678 is currently using a system whereby the program checks that a large shift in acceleration on the joystick is corroborate by an actual shift, and if it's not we then start ramping down wheel speeds until we gain traction or we hit a timeout. It works pretty well on our field analouge(the gymansium floor), but not that well on carpet(something keeps in stuck in low-power mode for some reason)

gorillamonky 04-02-2009 20:34

Re: Team 121 Traction Control
 
Quote:

Originally Posted by JVN (Post 813597)
So you feel entitled to get that "huge" advantage without any work?

gracious professionalism?
our programming team is primarily first years

JVN 05-02-2009 01:19

Re: Team 121 Traction Control
 
Quote:

Originally Posted by gorillamonky (Post 814306)
gracious professionalism?
our programming team is primarily first years

So because you think your programming team can't do it you feel like someone should hand you a finished solution? Have your programmers tried to work on traction control? I'm not a code guy (I just play with gears) but I've heard that it's not that difficult to make a pseudo successful traction control algorithm. There is even an entire thread of people discussing ways to do this sort of thing.

Perhaps your first year programmers can read the thread, take a stab at it, and then ask for additional guidance from the community. I know lots of teams would be more than happy to help poke them in the right direction.

I don't find much GP in just giving a finished solution to someone who (seemingly) can't be bothered to try to solve it on their own. However, I do think GP mandates that we do everything we can to help you solve it on your own.

Maybe that is just my interpretation.

$.02
-John

dtengineering 05-02-2009 02:41

Re: Team 121 Traction Control
 
I would suggest the professionalism part is answered by making it work, the gracious part is answered by posting the video and some basic feedback on how the system works here.

I will suggest that there may be other ways to implement traction control... track wheel speed with an encoder and if it suddenly spikes then your wheel is probably slipping... or figure out your maximum possible theoretical accelleration and set up a PID loop to control speed to your motors in such a way that the acelleration does not exceed the theoretical maximum.

But we have yet to try either. The best way is probably with the idler wheel. You can see here that it works!

Jason

Gdeaver 05-02-2009 08:14

Re: Team 121 Traction Control
 
Good job 121. It probably took allot of effort to get to that result. I wouldn't give your hard work away, But a generalized description would be nice for other teams. From the posts, allot of teams are envious of their accomplishment. Our team does not have the time or resources to do what 121 and others are doing. However we do have traction control of sorts. A simple filter to limit the rate of change for the joystick inputs can do allot to help with slipping. If your using Labview most of the work is done for you. There are several VI's that a team can try. An averaging function would not be a bad place to start. Our programmer and mentor took about 3 hours to find a solution. It's a drag, drop, wire and set parameters solution. Much easier than what 121 has done, but not perfect. Any team can achieve this method. The driver is also part of the equation. A smooth precise driver will do better than a button smasher. I'll note that the kids who have driven this year seam to prefer arcade as to tank control. Seams to allow more precise control. There is plenty of time left to play with the slip control by limiting rate of change.

Rich Kressly 05-02-2009 08:20

Re: Team 121 Traction Control
 
Quote:

Originally Posted by JVN (Post 814486)
So because you think your programming team can't do it you feel like someone should hand you a finished solution? Have your programmers tried to work on traction control? I'm not a code guy (I just play with gears) but I've heard that it's not that difficult to make a pseudo successful traction control algorithm. There is even an entire thread of people discussing ways to do this sort of thing.

Perhaps your first year programmers can read the thread, take a stab at it, and then ask for additional guidance from the community. I know lots of teams would be more than happy to help poke them in the right direction.

I don't find much GP in just giving a finished solution to someone who (seemingly) can't be bothered to try to solve it on their own. However, I do think GP mandates that we do everything we can to help you solve it on your own.

Maybe that is just my interpretation.

$.02
-John


"Give a man a fish and he eats for a day. Teach a man to fish and he eats for a lifetime." The community is here to help everyone get better together so that next year the "rookie" is in a position to help the "new rookie" with the same kinds of difficult problems. Namaste...

Bongle 05-02-2009 08:24

Re: Team 121 Traction Control
 
We just finished our traction control last night. Despite my earlier rants about doing an open-loop TCS, it works great and beats a human driver every time. We tried integrating velocity from the kit accelerometer, but could never get it good enough to be worthwhile. Later, we are going to be trying to modify the Gyro class to use its accumulator code with the accelerometer for integration.

Our data for accelerating down a couple sheets of regolith:
TCS: 3.55 - 3.95 (usually around 3.7)
Human: 3.93 - 4.8 (usually around 4.2)
Wheel-spin: 4.2-4.6

A half-second advantage over 20 feet is pretty good, especially when you consider that when using TCS, the driver doesn't have to think. We expect that driver times to accelerate 20 feet will be FAR worse in competition because they won't be concentrating on just accelerating smoothly. Ours only works for from-stopped acceleration, though it'll be easy to modify into an ABS system and a system that accelerates from any speed. It does not help for turning.

Description of our setup:
-One PIDController with an encoder-velocity input and motor-power output. You'll need to tune it so it can quickly adjust your wheel velocity without oscillation
-When the driver presses the 'launch' button, we mark what time we started our launch
-For each cycle of teleOp when the 'launch' button is pressed, we set our wheel-velocity setpoint to timeElapsed * DESIRED_ACCEL.
-Once the code is all set, you just tune DESIRED_ACCEL until your robot is as fast as it can be. For us, that was 24.8 inches per second squared.


All times are GMT -5. The time now is 16:42.

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