Chief Delphi

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

Mentor_Mike 16-02-2009 03:33

Re: 2809 - Traction Control Demo
 
Quote:

Originally Posted by Tom Bottiglieri (Post 821199)
I've always found model based control systems to be kind of a crapshoot. Maybe its just me though.

We found follower wheels to be the optimal solution. It may not have the best results, but its a simple system thats easy to integrate and works good enough.

My question with the follower wheels is how well it works when you're driving in a hostile environment with lots of bumping etc.

seg9585 16-02-2009 03:47

Re: 2809 - Traction Control Demo
 
My team's traction control design works in 2 ways:

We have 4 encoders total, 2 on free-rolling wheels and the other 2 on drive.
The (open-loop) system for "slip prevention" maximizes the wheel torque (motor power) based on the robot's actual velocity (from free wheels) according to an equation that we found empirically. This ensures our applied power will never slip no matter that external forces hit us (and extreme joystick inputs applied).

Our 2nd (closed-loop) system for "slip recovery" detects slip (that is, rotation rates of powered wheels vs free wheels) and proportionally steps down the power accordingly until the slip is gone.

End result? Today at our scrimmage we never slipped with traction control.....but we were pretty slow and underpowered. Any quicker and we start to slip. For better or for worse I suppose.

Uberbots 16-02-2009 04:49

Re: 2809 - Traction Control Demo
 
my guess is these guys do double differentiation on the encoder position to get acceleration, and basically make sure they aren't accelerating beyond a certain value.

or you could do an extrapolation of acceleration of some sort, and look for a discontinuity as a result of wheel slippage...

hmm

algorithm devising at 5am doesnt work well.

Transformix Eng 16-02-2009 22:08

Re: 2809 - Traction Control Demo
 
Well the 2809 'bot is just hours from being boxed & shipped, and it appears the only thing not slipping is mike's tongue in regards to how he and the kids pulled this traction control off. it's a sweet set up! it is incredible what you can achieve with fiberglass magnets.

I have to take my hat off to this rookie team...Great Job!!

Just wait 'til we show you the automated range finding and the 3-point shot.

Jeff

Remember the Avro Arrow!
Develop & Keep Engineering in Canada

vamfun 17-02-2009 18:52

Re: 2809 - Traction Control Demo
 
Quote:

Originally Posted by FRC4ME (Post 821014)
A torque sensor? I never thought of that. May I see which particular sensor you are using?

Anyway, it turns out the torque a DC motor produces is related only to the voltage (effective) you are sending it and the rpm of the motor. We measure the rpm of the motor with the encoder, plug that into the equation, and get back the maximum voltage we can send without causing enough torque to slip.

The beauty of the system is that it involves no PID loops, no tuning, no trial-and-error. We have about 15 measureable constants and 2 measureable variables (battery voltage and motor rpm), but nothing needs to be manually tuned. Yay for physics.

I admire your modeling capabilities. We use a simplified version that allows for real time adjustment of the static torque limit and then rely on a slip speed to modulate this limit. The slip speed is derived from reference wheel encoders on each side.

It has always been my thought that teams that stay under the static coefficient will do better than those who modulate between the static and dynamic coefficient using slip detector. So we strive to stay under the static torque limit. In case we do slip due to unpredicted loading conditions and external forces, we then bring in the extra reference wheel to sense wheel slip and modulate between the dynamic and static coefficient torques. This helps with maintaining lateral stability since when wheels slip, they usually break out at different times and cause turning moments.

The modulation is done by simply adjusting the static torque limit by a fixed factor about equal to the ratio between static and dynamic friction coefficients. Encoder noise is a concern since the normalized limit is about .1 or only 10% of the maximum command. We are prepared to close a PID loop outside of the torque limiter functions if need be..but so far seems ok without it.

We simply use Ke(motor back emf constant) to determine the maximum speed of the motor at 12 volts. Then we normalize the driven wheel speed with the calculated max speed and compare it to the commanded speed and limit the command so the difference does not exceed the static limit. This static limit is adjusted by the driver with the throttle input control to match the surface conditions of the day prior to the match. Voltage compensation is also used.

We considered using more parameters, however, it seemed that drive train torque loss variations with speed , resistance changes with temperature, loading condition variations would be a bit too much for us to model.(f even possible. )

Besides, since our wheels cannot crab, any turning puts us in a side slip condition so the best we can do is the dynamic coefficient during these times which would probably be most of the match. Any modulation of the wheel torque during this time would result in a slightly lower acceleration than the dynamic coefficient would allow (at least thats my current belief). So, not too sure that the torque limiters are worth the cost...except for maintaining lateral stability, but one could do this with just a heading rate hold loop. However, good strategy can extend the non-turning phases of the match and the good traction control people might have a few feet advantage in a drag race with those that don't have it.:)


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

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