Go to Post FIRST should never come before school and anyone who thinks otherwise is irresponsible and should not be mentoring the kids - Koko Ed [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
  #16   Spotlight this post!  
Unread 06-01-2009, 23:49
DSST\neal.ian DSST\neal.ian is offline
AAHHH!! WHERE'D ALL THE TIME GO?!?!
AKA: Ian Neal
FRC #2240 (Brute Force)
Team Role: Programmer
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Thornton, CO
Posts: 30
DSST\neal.ian has a spectacular aura aboutDSST\neal.ian has a spectacular aura aboutDSST\neal.ian has a spectacular aura about
Send a message via AIM to DSST\neal.ian Send a message via MSN to DSST\neal.ian Send a message via Yahoo to DSST\neal.ian
Re: Implementing Traction Control for an advantage in the 2009 game

What I am thinking of is a simple, program-level, "pseudo-pulse"; can't think of the word off the top of my head, but it would pretend that the input is pulsing at a rapid rate, and then have a button mapped to turn this pulse on or off, just in case it needs to be off. Granted, the on-off button would only work in teleop, but it's still better than nothing and can easily be implemented by a loop with a wait of, say, 10 ms. Would this work, or would this just be interpreted as just a steady stream? I didn't look too deep into the specifics of the control system, but this is my interpretation of a traction control mechanism implemented in the software level. And yes, I am a rookie.
  #17   Spotlight this post!  
Unread 07-01-2009, 01:42
lemon1324's Avatar
lemon1324 lemon1324 is offline
Registered User
AKA: Arul S
FRC #2473 (CHS Robotics)
Team Role: Alumni
 
Join Date: Jan 2008
Rookie Year: 2008
Location: Cupertino, CA
Posts: 23
lemon1324 is a glorious beacon of lightlemon1324 is a glorious beacon of lightlemon1324 is a glorious beacon of lightlemon1324 is a glorious beacon of lightlemon1324 is a glorious beacon of light
Re: Implementing Traction Control for an advantage in the 2009 game

Would the "pseudo-pulse" be variable depending on conditions? If not, then you're effectively driving the motors slower, not actually preventing a slip.

A Traction Control System looks at the all of the wheel speeds and determines which are slipping, then slows only those wheels.

My team is definitely trying to do this [4WD, all independently driven] but we can't figure out one thing:

How do you determine if a wheel is slipping when all four wheels are powered?

Any answer would be appreciated.
__________________
"I reject your reality and substitute my own"

  #18   Spotlight this post!  
Unread 07-01-2009, 02:12
Ian Curtis Ian Curtis is offline
Best Available Data
FRC #1778 (Chill Out!)
Team Role: Engineer
 
Join Date: Feb 2005
Rookie Year: 2004
Location: Puget Sound
Posts: 2,521
Ian Curtis has a reputation beyond reputeIan Curtis has a reputation beyond reputeIan Curtis has a reputation beyond reputeIan Curtis has a reputation beyond reputeIan Curtis has a reputation beyond reputeIan Curtis has a reputation beyond reputeIan Curtis has a reputation beyond reputeIan Curtis has a reputation beyond reputeIan Curtis has a reputation beyond reputeIan Curtis has a reputation beyond reputeIan Curtis has a reputation beyond repute
Re: Implementing Traction Control for an advantage in the 2009 game

Quote:
Originally Posted by lemon1324 View Post
Would the "pseudo-pulse" be variable depending on conditions? If not, then you're effectively driving the motors slower, not actually preventing a slip.

A Traction Control System looks at the all of the wheel speeds and determines which are slipping, then slows only those wheels.

My team is definitely trying to do this [4WD, all independently driven] but we can't figure out one thing:

How do you determine if a wheel is slipping when all four wheels are powered?

Any answer would be appreciated.
An accelerometer perhaps? It's not bullet proof, but I'd imagine it could work pretty well. You can figure the theoretical limit of your acceleration. If you're slipping, you aren't accelerating that fast. So slow down until a decrease in wheel rpm produces a slight decrease in acceleration.
__________________
CHILL OUT! | Aero Stability & Control Engineer
Adam Savage's Obsessions (TED Talk) (Part 2)
It is much easier to call someone else a genius than admit to yourself that you are lazy. - Dave Gingery
  #19   Spotlight this post!  
Unread 07-01-2009, 02:30
Qbranch Qbranch is offline
wow college goes fast.
AKA: Alex
FRC #1024 (Kil-A-Bytes)
Team Role: Alumni
 
Join Date: Apr 2006
Rookie Year: 2006
Location: Indianapolis
Posts: 1,174
Qbranch has a reputation beyond reputeQbranch has a reputation beyond reputeQbranch has a reputation beyond reputeQbranch has a reputation beyond reputeQbranch has a reputation beyond reputeQbranch has a reputation beyond reputeQbranch has a reputation beyond reputeQbranch has a reputation beyond reputeQbranch has a reputation beyond reputeQbranch has a reputation beyond reputeQbranch has a reputation beyond repute
Re: Implementing Traction Control for an advantage in the 2009 game

FIRST off, it's important to note that even absolutely perfect traction control (runs riiiight at the limit of static friction at all times) compared to a wheel slipping a reasonable amount (dynamic friction but not so incredibly fast that the materials do not have time to interact with eachother before the surfaces move) has very little difference in acceleration.

The coefficients of friction (preliminarily) for static is 0.06 and dynamic is 0.05. If you calculate out how long it would take for a 120lb robot to accelerate to 10ft/sec, you'll find the difference in time to be about 0.1sec. Not much difference.

But, if you were going to go ahead with it anyhow, I think integrating the accelerometer over time to get real velocity would be a good start. Then, using encoders for wheel speed and the accelerometer integration value for real speed, you have a surefire indication for weather or not you are slipping, then you're control logic/software can take over from there.

I realize other methods of detecting slip have been mentioned in this thread, but knowing the real velocity of the robot gives you another cool ability. If for example you are using a tank drive train (motor for left, right side of robot) and one of the sides of your robot gets on carpet, your control system can independently adjust the traction control action regardless of the surface the wheels are on (power would be increased to point of slippage on carpet, which would be a higher force than can be exerted on the opposite (regolith) side). Should make your routine surface type independent.

It would be very interesting to learn what the coefficients of static+dynamic friction of the moon tires are on the carpet. Does anyone know/want to figure it out?

Okay, time for bed.

-q
__________________
Electrical Engineer Illini
1024 | Programmer '06, '07, '08 | Driver '08
  #20   Spotlight this post!  
Unread 07-01-2009, 02:43
Uberbots's Avatar
Uberbots Uberbots is offline
Mad Programmer
AKA: Billy Sisson
FRC #1124 (ÜberBots)
Team Role: College Student
 
Join Date: Jan 2006
Rookie Year: 2005
Location: Avon
Posts: 739
Uberbots has a reputation beyond reputeUberbots has a reputation beyond reputeUberbots has a reputation beyond reputeUberbots has a reputation beyond reputeUberbots has a reputation beyond reputeUberbots has a reputation beyond reputeUberbots has a reputation beyond reputeUberbots has a reputation beyond reputeUberbots has a reputation beyond reputeUberbots has a reputation beyond reputeUberbots has a reputation beyond repute
Re: Implementing Traction Control for an advantage in the 2009 game

Extending on what QBranch said, its kind of a bad idea to implement traction control when you have no traction in the first place.
__________________
A few of my favorite numbers:
175 176 177 195 230 558 716 1024 1071 1592 1784 1816
RPI 2012
BREAKAWAY
  #21   Spotlight this post!  
Unread 07-01-2009, 08:11
Daniel_H's Avatar
Daniel_H Daniel_H is offline
Registered User
FRC #1156 (Under Control)
Team Role: Mentor
 
Join Date: Jan 2003
Rookie Year: 2003
Location: Brazil
Posts: 171
Daniel_H is just really niceDaniel_H is just really niceDaniel_H is just really niceDaniel_H is just really nice
Re: Implementing Traction Control for an advantage in the 2009 game

I was thinking of just adding some inertia on the joysticks, for not to allow sudden variations on the axis, like a capacitor would do to a square signal.

I already figured out how to get the derivative of the movement of the axis, so I can measure sudden moves to correct it, but that's as far as we've got.
__________________
[<o>] gogogo [<o>]
http://undercontrol1156.com/
  #22   Spotlight this post!  
Unread 07-01-2009, 10:26
cgredalertcc cgredalertcc is offline
Registered User
AKA: Charlie Baxter
FRC #1747 (Harrison Boiler Robotics)
Team Role: College Student
 
Join Date: Dec 2006
Rookie Year: 2005
Location: greenwood indiana
Posts: 69
cgredalertcc is a name known to allcgredalertcc is a name known to allcgredalertcc is a name known to allcgredalertcc is a name known to allcgredalertcc is a name known to allcgredalertcc is a name known to all
Send a message via AIM to cgredalertcc
Re: Implementing Traction Control for an advantage in the 2009 game

Quote:
Originally Posted by lemon1324 View Post
Would the "pseudo-pulse" be variable depending on conditions? If not, then you're effectively driving the motors slower, not actually preventing a slip.

A Traction Control System looks at the all of the wheel speeds and determines which are slipping, then slows only those wheels.

My team is definitely trying to do this [4WD, all independently driven] but we can't figure out one thing:

How do you determine if a wheel is slipping when all four wheels are powered?

Any answer would be appreciated.
You could use voltage and current feedback from the motors with the analog sensors currently available. Through test trends would appear when the wheel lost traction, possibly a spike in amperage. Also if the wheels are independently driven you could use encoders and compare the rotation rate of wheels being driven similarly so if left front and right front are both moving forward, but left front is slipping the rotation speed of that wheel should be faster.
  #23   Spotlight this post!  
Unread 07-01-2009, 11:44
nickmagus's Avatar
nickmagus nickmagus is offline
Registered User
AKA: Nick Clayton
FRC #0008 (Paly Robotics)
Team Role: Programmer
 
Join Date: Dec 2007
Rookie Year: 2007
Location: Palo Alto, Califorinia
Posts: 56
nickmagus is an unknown quantity at this point
Send a message via AIM to nickmagus
Re: Implementing Traction Control for an advantage in the 2009 game

Quote:
2nd Optics - Optical encoders on the wheels and optical mouse to senses floor movement. The mouse may need modifying so it will work a few inches off the floor. I will be a cool thing for the programs to work on.
I looked extensively in to optical mice last year however they do not work at high enough speeds to be feasible (even for this challenge) if you find one fast enough please inform me but the best i could get was ~5ft/s before it losses all idea of whats going on.
Quote:
My team is definitely trying to do this [4WD, all independently driven] but we can't figure out one thing:

How do you determine if a wheel is slipping when all four wheels are powered?

Any answer would be appreciated.
I realize this may be a pain (mostly for the mechanics) but the easiest way to determine wheel slippage is to compare the speed of each wheel to the speed of an driven encoder wheel next to it. Or (since the robot moves as a whole) you could get away with three encoder wheels telling you how the robot is moving and do some calculations to figure out how each wheel is moving.
  #24   Spotlight this post!  
Unread 07-01-2009, 12:11
EricS-Team180's Avatar
EricS-Team180 EricS-Team180 is offline
SPAM, the lunchmeat of superheroes!
AKA: Eric Schreffler
FRC #0180 (SPAM)
Team Role: Engineer
 
Join Date: Apr 2002
Rookie Year: 2001
Location: Stuart, Florida
Posts: 561
EricS-Team180 has a reputation beyond reputeEricS-Team180 has a reputation beyond reputeEricS-Team180 has a reputation beyond reputeEricS-Team180 has a reputation beyond reputeEricS-Team180 has a reputation beyond reputeEricS-Team180 has a reputation beyond reputeEricS-Team180 has a reputation beyond reputeEricS-Team180 has a reputation beyond reputeEricS-Team180 has a reputation beyond reputeEricS-Team180 has a reputation beyond reputeEricS-Team180 has a reputation beyond repute
Re: Implementing Traction Control for an advantage in the 2009 game

Quote:
Originally Posted by Daniel_H View Post
I was thinking of just adding some inertia on the joysticks, for not to allow sudden variations on the axis, like a capacitor would do to a square signal.

I already figured out how to get the derivative of the movement of the axis, so I can measure sudden moves to correct it, but that's as far as we've got.
Perhaps a rate limit between the joystick reading and the pwm requested, will be helpful.
__________________

Don't PANIC!
S. P. A. M.
  #25   Spotlight this post!  
Unread 07-01-2009, 12:31
XXShadowXX's Avatar
XXShadowXX XXShadowXX is offline
They call me Cody.
no team (None currently :\)
Team Role: Mentor
 
Join Date: Jan 2008
Rookie Year: 2008
Location: Pontiac; MI
Posts: 408
XXShadowXX has much to be proud ofXXShadowXX has much to be proud ofXXShadowXX has much to be proud ofXXShadowXX has much to be proud ofXXShadowXX has much to be proud ofXXShadowXX has much to be proud ofXXShadowXX has much to be proud ofXXShadowXX has much to be proud ofXXShadowXX has much to be proud ofXXShadowXX has much to be proud of
Re: Implementing Traction Control for an advantage in the 2009 game

solve for your current acceleration, using laws of motion, then compare with the accelerometer, using the derivative of the accelerometer data you can tell what speed your going, adjust motion for collisions, it seams helpful in terms of traction control.
__________________
Is now an engineer thanks to FIRST.
  #26   Spotlight this post!  
Unread 07-01-2009, 13:03
Paul Copioli's Avatar Unsung FIRST Hero Woodie Flowers Award
Paul Copioli Paul Copioli is online now
President, VEX Robotics, Inc.
FRC #3310 (Black Hawk Robotics)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 2000
Location: Rockwall, TX
Posts: 1,391
Paul Copioli has a reputation beyond reputePaul Copioli has a reputation beyond reputePaul Copioli has a reputation beyond reputePaul Copioli has a reputation beyond reputePaul Copioli has a reputation beyond reputePaul Copioli has a reputation beyond reputePaul Copioli has a reputation beyond reputePaul Copioli has a reputation beyond reputePaul Copioli has a reputation beyond reputePaul Copioli has a reputation beyond reputePaul Copioli has a reputation beyond repute
Re: Implementing Traction Control for an advantage in the 2009 game

EricS,

We tried the joystick method and it works great. It was very simple to implement and we just wanted to see if it made a difference ... it does big time (as we expected)!

I do not think this is the best way as it does not actually account for actual wheel speed. Caution: this post might get a little long.

First, a description of what we did. We forced the maximum PWM input change from the joystick from one time step to another to be a certain value (ours ranged from 1 to 10). We only had it working in the forward direction as we had a bug that made it not working in reverse (we were trying to do it fast).

When diving around on the actual surface with the actual trailer and wheels with the trailer loaded (about 40 - 45 lbs) here is what we found:

The "poor man's traction control" worked great except when you tried to turn the trailer and it took longer than the ramp up. The wheels would eventually break free and spin but backing off on the throttle would bring it back down and gain traction. I think people will be suprised when they see how much trailer weight affects turning performance. Anyway, it proved to us that traction control is a must.

In my mind there are 3 basic ways to do traction control this year:

1. Poor man's - as described above just control throttle rate.

2. Middle Income - Encoders on the driving wheels only. Control the rate of change of wheel speed (also known as acceleration) to match what the surface can handle.

3. The super rich - Do the same as number 2, but add a frame of reference like a non powered wheel or an accelerometer. In addition to controlling the change, you also make sure the wheel speed is close to the frame of reference speed.

Our team is leaning towards #2 and here is why:

1. As I proved in a different thread, the maximum acceleration we can have is equal to g*CoF, where g is the acceleration due to gravity and CoF is the coefficient of friction between the floor and the wheels.

2. Since this is a known quantity we can set the maximum wheel speed change per time step based on testing.

3. In addition, we can cap the maximum speed (if you think that is important.


If this proves to not be enough, then we will probably use an accelerometer as a reference.
  #27   Spotlight this post!  
Unread 07-01-2009, 13:19
IKE's Avatar
IKE IKE is offline
Not so Custom User Title
AKA: Isaac Rife
no team (N/A)
Team Role: Mechanical
 
Join Date: Jan 2008
Rookie Year: 2003
Location: Michigan
Posts: 2,149
IKE has a reputation beyond reputeIKE has a reputation beyond reputeIKE has a reputation beyond reputeIKE has a reputation beyond reputeIKE has a reputation beyond reputeIKE has a reputation beyond reputeIKE has a reputation beyond reputeIKE has a reputation beyond reputeIKE has a reputation beyond reputeIKE has a reputation beyond reputeIKE has a reputation beyond repute
Re: Implementing Traction Control for an advantage in the 2009 game

Quote:
Originally Posted by Paul Copioli View Post
EricS,

Our team is leaning towards #2 and here is why:

1. As I proved in a different thread, the maximum acceleration we can have is equal to g*CoF, where g is the acceleration due to gravity and CoF is the coefficient of friction between the floor and the wheels.

2. Since this is a known quantity we can set the maximum wheel speed change per time step based on testing.

3. In addition, we can cap the maximum speed (if you think that is important.


If this proves to not be enough, then we will probably use an accelerometer as a reference.
First off, thank you for the informative post and test results. Many would have kept this as an advantage.

Didn't your team use idle wheels last year to measure wheel speed? Did last year's experience influence your opinion so far?
  #28   Spotlight this post!  
Unread 07-01-2009, 13:30
Jared Russell's Avatar
Jared Russell Jared Russell is offline
Taking a year (mostly) off
FRC #0254 (The Cheesy Poofs), FRC #0341 (Miss Daisy)
Team Role: Engineer
 
Join Date: Nov 2002
Rookie Year: 2001
Location: San Francisco, CA
Posts: 3,078
Jared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond repute
Re: Implementing Traction Control for an advantage in the 2009 game

Methods for doing traction control:

1. Use what you know about the physics of your environment (open-loop):

1a. Limit acceleration of the wheel to the acceleration that provides the maximum tractive force. Works great in theory, but the dynamics of the robot (i.e. weight transfer from wheel to wheel when turning, irregularities in the wheel tread) make this style slightly unreliable. Still, it should be much better than nothing.

2. Sense the difference between your true robot velocity and your wheel velocity:

2a. Combine driven and non-driven wheels. Sense the speed of both. This will absolutely detect wheel slip, but you lose some downforce to the non-driven wheels.

2b. Use inertial sensors (accelerometer + gyro) to get your robot speed. The problem is that these sensors are noisy and will drift when integrated.

2c. Use a camera/mouse/ultrasonic range finder/RADAR/LIDAR to detect true robot speed. I've yet to see a reliable implementation of one of these methods on a FIRST robot, however.

3. There are other clever ways as well:

3a. Kalman filters are based on complicated mathematics, but can take different types of sensors with known uncertainty characteristics and fuse together their outputs to get a generally reliable view of the overall picture. This would be a robust way to use inertial guidance, for example.

3b. Even in a 4WD robot with 4 independently-powered wheels with encoders, you can detect (some kinds of) slip without the need for additional sensors. You know where on your robot the wheels are mounted. You can measure the speeds of all four wheels. If you examine the speeds of three wheels at a time, you can compute what the speed of the fourth you HAVE to be in order for there to be no slippage. You can do this for all 4 combinations of three wheels and deduce which wheel(s) are lying to you. If all four (or even three, and sometimes two) wheels are slipping, you're still out of luck, but if one wheel loses traction before the others, you will know.

---------

How much agility will we really gain with these methods on this floor? I don't know - but I do know that in the kingdom of the blind, the one-eyed man is king. A small edge might tip the balance of an otherwise level playing field this season.
  #29   Spotlight this post!  
Unread 07-01-2009, 13:33
Jared Russell's Avatar
Jared Russell Jared Russell is offline
Taking a year (mostly) off
FRC #0254 (The Cheesy Poofs), FRC #0341 (Miss Daisy)
Team Role: Engineer
 
Join Date: Nov 2002
Rookie Year: 2001
Location: San Francisco, CA
Posts: 3,078
Jared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond repute
Re: Implementing Traction Control for an advantage in the 2009 game

Quote:
Originally Posted by IKE View Post
First off, thank you for the informative post and test results. Many would have kept this as an advantage.

Didn't your team use idle wheels last year to measure wheel speed? Did last year's experience influence your opinion so far?
I can't speak for 217, but one thing that scares me about non-driven wheels this year is that every pound of downforce on a non-powered wheel takes away from your maximum tractive force (and therefore acceleration). Does the loss of this force make up for the benefits of an otherwise simple way to get high-fidelity anti-slip control? I don't know.
  #30   Spotlight this post!  
Unread 07-01-2009, 15:47
vansivallab's Avatar
vansivallab vansivallab is offline
Registered User
FRC #2583 (Westwood Robotics)
Team Role: Engineer
 
Join Date: Jan 2007
Rookie Year: 2006
Location: Austin
Posts: 11
vansivallab is an unknown quantity at this point
Re: Implementing Traction Control for an advantage in the 2009 game

It might work better to use a laser mouse since it works on more surfaces and is more powerful
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
The 2009 Control System Q&A Thread crake FRC Control System 59 11-01-2009 10:43
Drive train for 2009 game hihihiflcl81pig General Forum 4 27-12-2008 02:17
Buying the 2009 control system BornaE FRC Control System 9 16-10-2008 17:16
The Access Points on the 2009 Control System Shadow503 Rumor Mill 10 28-04-2008 23:22
UNFAIR ADVANTAGE for CDI and new control system archiver 2000 6 23-06-2002 22:13


All times are GMT -5. The time now is 19:08.

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