View Single Post
  #35   Spotlight this post!  
Unread 17-02-2009, 18:52
vamfun vamfun is offline
Mentor :Contol System Engineer
AKA: Chris
FRC #0599 (Robodox)
Team Role: Engineer
 
Join Date: Jan 2009
Rookie Year: 2003
Location: Van Nuys, California
Posts: 183
vamfun is a glorious beacon of lightvamfun is a glorious beacon of lightvamfun is a glorious beacon of lightvamfun is a glorious beacon of lightvamfun is a glorious beacon of lightvamfun is a glorious beacon of light
Send a message via AIM to vamfun
Re: 2809 - Traction Control Demo

Quote:
Originally Posted by FRC4ME View Post
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.