Go to Post This thread is just as lethal as any design your own game thread. - Schnabel [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 08-02-2009, 00:35
keehun's Avatar
keehun keehun is offline
Team Captain
AKA: Keehun Nam
FRC #2502 (EP Robotics)
Team Role: Leadership
 
Join Date: May 2008
Rookie Year: 2008
Location: Eden Priaire
Posts: 474
keehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond repute
Send a message via AIM to keehun
Implementation of Traction Control

So, I just got back from robotics and I've easily spent over 200 hours implementing this drive system. We wrote and reviewed this spec that had 5 modules.

First module, forward velocity control would return a computed forward velocity in to the second module, angular velocity control. The Angular Velocity control would compute a forward and angular velocity in to our third module, Traction Control Module. This attempted to reduce all the slippage. Then Traction Control Module would return Torque Forward and Torque Differentials in to our fourth module, which was called Motor Steering. It allowed that so when the robot was pedal to the metal, going at the top speed, it would allow the driver to just turn smoothly. The Motor Steering module would return Torque Left and Torque Right to our final module which would apply a constant torque regardless of the current speed.

I had everything implemented and coded up.

Today it was a 14 hour testing session, as well as yesterday's 8 hour testing session. During these 23 hours, we were able to fine tune Motor Torque module (last one) and we were able to fine tune our Motor Steering algorithm.

The idea is that you should be able to plug in the joystick at any point in the module chains and still have things work, just not be as nicely drivable as it would be with all 5 modules. So we were able to drive with raw tank drive (plug in joysticks right to the motor), we were able to drive a little better with Motor Torque module (so joystick controlled torque not speed) and we were able to drive forward/backward similar but turn way better at high speeds with our Motor Steering module (motor steering automatically chained to motor torque module)

We were plagued with a fried digital side car (we didn't know it was fried) which took up weeks 1 through week 3 (oh, you wouldn't know how frustrated i was just wasting those 2 weeks just because we didn't try swapping out the digital side car.. we got "decent" data but way too noisy. We fried it so that it just didn't give us good data).

However, since it isn't necessarily easier to drive with the last two modules enabled, we decided to abandon the whole ordeal.

I'm planning on perfecting it during the summer, but I think whoever drives the robot will just have to acquire amazing driving skills. Jack-knifing ftw.

Maybe I should've just not been this ambitious and developed a simple acceleration-limiting algorithm that would've taken at most an hour. I don't know what I should've aimed for. Anyhow, I was wondering how your team developed traction control.

Thanks,
Keehun
Team 2502

I'm aware of the one thread that has a large discussion about Traction Control. What I want on this thread is more of a "we're finished, or we're in the process of finishing a Traction Control System, and here is what we did" instead of back-and-forth discussion about how to do this.

I will see if I can open source that spec soon. It has bugs, for sure, but if some people squash enough bugs, maybe a lot of people can go sleepless for a couple days and implement it.
__________________
For by grace you have been saved through faith, and that not of yourselves; it is the gift of God, not of works, lest anyone should boast. -- Ephesians 2:8-9
2010: Quarter Finalist (MN 10,000 Lakes)
2010: Website Award (MN 10,000 Lakes)
2009: Quarter Finalist (MN 10,000 Lakes)
2009: GM Industrial Award (MN 10,000 Lakes)

Last edited by keehun : 08-02-2009 at 00:45.
  #2   Spotlight this post!  
Unread 08-02-2009, 09:06
Bongle's Avatar
Bongle Bongle is offline
Registered User
FRC #2702 (REBotics)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2002
Location: Waterloo
Posts: 1,069
Bongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond repute
Send a message via MSN to Bongle
Re: Implementation of Traction Control

Ours works quite well with an open-loop acceleration-limiting system. If the driver presses a button, we simply limit the rate that the encoders speed up with a PID loop. No dynamic slip control, no turning, just a straight-line drag. We have been doing robot-turning drills and have found the robot isn't _that_ hard to turn around, so we decided that straight-line acceleration was the main thing that needed fixing.

We also have a system to maintain heading while the driver accelerates halfway on the carpet and halfway on regolith, because our tests revealed that robots spun very easily in that situation.

Like you, we initially tried a much more complicated system, but found that our velocity estimates were simply not accurate enough to do dynamic slip control. Coding, testing, and tuning the open-loop system took about 2 hours after about 2 weeks of trying the smarter system.
  #3   Spotlight this post!  
Unread 08-02-2009, 10:57
keehun's Avatar
keehun keehun is offline
Team Captain
AKA: Keehun Nam
FRC #2502 (EP Robotics)
Team Role: Leadership
 
Join Date: May 2008
Rookie Year: 2008
Location: Eden Priaire
Posts: 474
keehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond reputekeehun has a reputation beyond repute
Send a message via AIM to keehun
Re: Implementation of Traction Control

Do you mind telling me where I can learn this PID stuff? I've heard a lot about it but I just couldn't find a good spot to start learning about them.
__________________
For by grace you have been saved through faith, and that not of yourselves; it is the gift of God, not of works, lest anyone should boast. -- Ephesians 2:8-9
2010: Quarter Finalist (MN 10,000 Lakes)
2010: Website Award (MN 10,000 Lakes)
2009: Quarter Finalist (MN 10,000 Lakes)
2009: GM Industrial Award (MN 10,000 Lakes)
  #4   Spotlight this post!  
Unread 08-02-2009, 11:01
MrForbes's Avatar
MrForbes MrForbes is offline
Registered User
AKA: Jim
FRC #1726 (N.E.R.D.S.)
Team Role: Mentor
 
Join Date: Feb 2006
Rookie Year: 2006
Location: Sierra Vista AZ
Posts: 6,012
MrForbes has a reputation beyond reputeMrForbes has a reputation beyond reputeMrForbes has a reputation beyond reputeMrForbes has a reputation beyond reputeMrForbes has a reputation beyond reputeMrForbes has a reputation beyond reputeMrForbes has a reputation beyond reputeMrForbes has a reputation beyond reputeMrForbes has a reputation beyond reputeMrForbes has a reputation beyond reputeMrForbes has a reputation beyond repute
Re: Implementation of Traction Control

There are some white papers on the subject here on CD. Near the top of the page, find the link to CD-Media, then look for "papers" and search for PID, you should find seven of them.
  #5   Spotlight this post!  
Unread 08-02-2009, 12:59
Bongle's Avatar
Bongle Bongle is offline
Registered User
FRC #2702 (REBotics)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2002
Location: Waterloo
Posts: 1,069
Bongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond reputeBongle has a reputation beyond repute
Send a message via MSN to Bongle
Re: Implementation of Traction Control

Quote:
Originally Posted by keehun View Post
Do you mind telling me where I can learn this PID stuff? I've heard a lot about it but I just couldn't find a good spot to start learning about them.
The wikipedia article is quite good. And like squirrel said, there are some good whitepapers. One I especially liked was an excel spreadsheet where you could tune simulated P, I, and D parameters to see the kinds of effect they have on the output.
  #6   Spotlight this post!  
Unread 10-02-2009, 10:02
elbuo elbuo is offline
Teams #2884 and #1144
AKA: Yamil Asusta
FRC #1144 (Coquitron)
Team Role: Programmer
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Puerto Rico
Posts: 89
elbuo has a spectacular aura aboutelbuo has a spectacular aura aboutelbuo has a spectacular aura about
Re: Implementation of Traction Control

Mine is simple.
Since the turning of the robot could be done if the whole weight was applied I concluded that what I had to limit was the acceleration.
I used a pt by pt low pass filter. I'm using a straight line acceleration.
We can even drift the robot with full control (like Tokyo Drift ) and then go straight forward.
The main thing is that the wheels must NEVER stop spinning because they will loose their grip. So I when we release the joystick the wheels spin for a while until the driver reacts again.

I didn't use any kind of sensors since I didn't know what I was doing I'm a complete newbie in everything...
Closed Thread


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

Similar Threads
Thread Thread Starter Forum Replies Last Post
Team 121 Traction Control Tom Schindler Robot Showcase 66 12-02-2009 22:53
Using PID for traction control (help!) ellisk Programming 2 07-02-2009 14:05
PID traction Control dpeterson3 C/C++ 5 26-01-2009 21:11
Is it worth it to implement traction control? dmlawrence Rules/Strategy 5 05-01-2009 21:28
Traction Control Algorithm Mr. Lim Programming 3 20-01-2004 14:26


All times are GMT -5. The time now is 18:31.

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