Go to Post New mentor joins one team and ends up impacting several in the same region. I like that. :) - Travis Hoffman [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 04-01-2009, 15:54
DonRotolo's Avatar
DonRotolo DonRotolo is offline
Back to humble
FRC #0832
Team Role: Mentor
 
Join Date: Jan 2005
Rookie Year: 2005
Location: Atlanta GA
Posts: 6,988
DonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond repute
Implementing Traction Control for an advantage in the 2009 game

I think I can safely say that the robot with the best ability to move around will have an advantage this year. One way to do that is to maximize traction. A slipping wheel provides no traction (at least at certain high slip values)

In looking at this graph (scroll down to see the graph) we see that on a certain surface* a certain amount of slip provides optimal traction while maintaining stability. This is the principle behind Anti-Lock Brakes and other traction control systems.

If we then conclude that traction control can be superior to excessive acceleration**, we now have a few issues to manage before we can implement that in software.

The purpose of this thread is to share knowledge and ideas on how to implement this, especially since automotive engineers probably know a lot more about this - and can help their teams more - than others, who can and should benefit from this expertise.

Anti-Lock Braking Systems (ABS) work on the principle that a wheel can only slow down at a maximum rate, and once it exceeds that rate it is "locking up". ABS is implemented without knowing the coefficient of friction or vehicle speed by finding the slope (differential) of the wheel speed. Once that slope (rate of change) exceeds a certain experimentally-derived value, the wheel is Locking Up and actions are taken to reduce the braking force upon that wheel.

Acceleration Slip Regulation (ASR) is different, and is probably more of what we need to implement in this year's game. ASR works by measuring the slip due to acceleration, comparing the actual speed of the driven wheels to the undriven wheels, reducing throttle input*** if driven wheel speed exceeds that of undriven wheel speed by some value (perhaps 20%).

The graph mentioned shows 20% to be the magic number for dry pavement and rubber tires****.

The first problem is to measure the speed of each wheel. This is moot if all wheels on a side are driven by a single motor, since they all are at the same speed, so the first requirement seems to be that each wheel needs its own motor (although an 8 wheel drive may be possible, 2 wheels off one motor). The encoders provided are OK, but may also be overkill at 300 pulses per revolution (most ABS systems have 48 or 96).

The second problem is to measure the actual vehicle speed. In a car, just use the undriven wheels, but in a robot, usually there is no undriven wheel. In this case, one can mount an undriven 'fifth' wheel for this purpose, perhaps using a caster type mounting system (if you want to detect sideways travel). One post mentioned using an optical mouse - my MS optical mouse seems pretty reliable at 1/16" off the desk surface, but it would probably get quickly dirty on a FIRST field. Trains use acceleration control for optimal traction, and they sense vehicle speed using radar (essentially a traffic radar gun - Ramsey Electronics sells a kit for $60)). I wonder which might be best here.

The next problem is motor speed control. Cars usually work at 15 to 30 Hz, due to limits of their mechanical systems. The new Jaguars can adjust their outputs a lot faster than that. The control system can keep up with it, too, but can the motors? Can a PID loop be implemented that gets a new setpoint every 1/60th of a second?

This being a somewhat deep issue, any and all comments are welcome, since we never know which tidbit will be the important one.

Don

*The curve changes a little for different surfaces, mostly flattening as mu decreases, but the principle remains. One notable difference, not relevant here, is on loose surfaces such as gravel.

**This also applies to excessive negative acceleration, also known as braking.

***Some systems also apply braking to a single slipping wheel, but in FIRST we can limit ourselves to a single response.

**** This is not stated anywhere, but I know it to be true from my experience with these systems.

.
__________________

I am N2IRZ - What's your callsign?
  #2   Spotlight this post!  
Unread 04-01-2009, 16:09
MrForbes's Avatar
MrForbes MrForbes is online now
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: 5,966
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: Implementing Traction Control for an advantage in the 2009 game

The first thing that came to mind was that the coefficients of static and dynamic friction for rubber tires on pavement seem to be more different than they are for the robot wheels on regolith. That means we don't have as much to gain as car designers do. I'm not rtying to dissuade anyone from working on this, though.

Also with a typical skid steer 4 wheel drive, the front and rear wheels on each side will be slipping the same amount in the driving direction, because they are turning at the same speed, and they are on the same surface, and the stay the same distance apart. So, there seems to be no need to worry about sensing the speed of each wheel, only the speed of each set of commonly driven wheels. This concept is used in older automotive ABS also, note you'll find only one speed sensor on the rear axle of 80s pickup trucks with primitive ABS.
  #3   Spotlight this post!  
Unread 04-01-2009, 16:30
sbrumund sbrumund is offline
Registered User
FRC #2115 (M cubed)
Team Role: Mentor
 
Join Date: Nov 2008
Rookie Year: 2008
Location: Mundelein,IL
Posts: 27
sbrumund is an unknown quantity at this point
Re: Implementing Traction Control for an advantage in the 2009 game

It is relatively simple to limit the rates of acceleation and turning in the programming as opposed to monitoring wheel speed to look for slippage.

With this approach you would need to test the robot on the surface and adjust the limits in the program.

Any traction control system will require some getting used to.
  #4   Spotlight this post!  
Unread 04-01-2009, 16:30
TheOtherGuy's Avatar
TheOtherGuy TheOtherGuy is offline
Unregistered User
AKA: Kevin Forbes
FRC #4183 (Bit Buckets)
Team Role: Engineer
 
Join Date: Jul 2006
Rookie Year: 2006
Location: Tucson, AZ
Posts: 408
TheOtherGuy has a reputation beyond reputeTheOtherGuy has a reputation beyond reputeTheOtherGuy has a reputation beyond reputeTheOtherGuy has a reputation beyond reputeTheOtherGuy has a reputation beyond reputeTheOtherGuy has a reputation beyond reputeTheOtherGuy has a reputation beyond reputeTheOtherGuy has a reputation beyond reputeTheOtherGuy has a reputation beyond reputeTheOtherGuy has a reputation beyond reputeTheOtherGuy has a reputation beyond repute
Re: Implementing Traction Control for an advantage in the 2009 game

You mentioned using a caster for figuring out the actual velocity of the robot; another possible way to do this is with the accelerometer. Before kick-off we designed a quick inertial positioning system using an accelerometer and gyro based off of 111's system back in '04 (I think it was '04...). Using some trivial physics you can use a loop to keep track of your actual velocity and position. Now, we haven't actually messed around with an accelerometer at any point in our history, so I don't exactly know how accurate these are, but that was our first take on traction control.
__________________
  #5   Spotlight this post!  
Unread 04-01-2009, 16:33
Adam Y.'s Avatar
Adam Y. Adam Y. is offline
Adam Y.
no team (?????)
 
Join Date: Mar 2002
Location: Long Island
Posts: 1,979
Adam Y. is a splendid one to beholdAdam Y. is a splendid one to beholdAdam Y. is a splendid one to beholdAdam Y. is a splendid one to beholdAdam Y. is a splendid one to beholdAdam Y. is a splendid one to beholdAdam Y. is a splendid one to behold
Send a message via AIM to Adam Y.
Re: Implementing Traction Control for an advantage in the 2009 game

Quote:
The next problem is motor speed control. Cars usually work at 15 to 30 Hz, due to limits of their mechanical systems. The new Jaguars can adjust their outputs a lot faster than that. The control system can keep up with it, too, but can the motors? Can a PID loop be implemented that gets a new setpoint every 1/60th of a second?
You might not want to implement a PID loop depending on what you are trying to accomplish with the drive train. Using a ramp instead of a step input is ideally what we want. The problem is that it changes the system type that you need (Read: How many integrators you need) to achieve a specific amount of steady state error.. I actually have to go over the dynamics of a basic gear train (Read: How many integrators you start out with) but the worst case scenario is that you have to integrate at least once to get a system that doesn't give an steady state error that blows off to infinity and twice to get zero steady state error.
__________________
If either a public officer or any one else saw a person attempting to cross a bridge which had been ascertained to be unsafe, and there were no time to warn him of his danger, they might seize him and turn him back without any real infringement of his liberty; for liberty consists in doing what one desires, and he does not desire to fall into the river. -Mill

Last edited by Adam Y. : 04-01-2009 at 16:43.
  #6   Spotlight this post!  
Unread 04-01-2009, 16:37
DonRotolo's Avatar
DonRotolo DonRotolo is offline
Back to humble
FRC #0832
Team Role: Mentor
 
Join Date: Jan 2005
Rookie Year: 2005
Location: Atlanta GA
Posts: 6,988
DonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond repute
Re: Implementing Traction Control for an advantage in the 2009 game

Quote:
Originally Posted by sbrumund View Post
It is relatively simple to limit the rates of acceleation and turning in the programming as opposed to monitoring wheel speed to look for slippage.

With this approach you would need to test the robot on the surface and adjust the limits in the program.
Agreed, an empirical approach would probably be effective, even if the testing surface differed from the actual surface (simply adjust one parameter).

However my goal is to show these kids an engineering approach. Someone once said that the difference between an engineer and a tinkerer is that the engineer can calculate the results beforehand.

This assumes that 6 weeks is enough, of course.
__________________

I am N2IRZ - What's your callsign?

Last edited by DonRotolo : 04-01-2009 at 16:43.
  #7   Spotlight this post!  
Unread 04-01-2009, 16:39
Otaku's Avatar
Otaku Otaku is offline
Where'd my wrench go?
AKA: Michael Baker
FRC #0675 (Tech High Phantom Robotics)
Team Role: College Student
 
Join Date: Jan 2007
Rookie Year: 2006
Location: Underneath my car
Posts: 509
Otaku has a reputation beyond reputeOtaku has a reputation beyond reputeOtaku has a reputation beyond reputeOtaku has a reputation beyond reputeOtaku has a reputation beyond reputeOtaku has a reputation beyond reputeOtaku has a reputation beyond reputeOtaku has a reputation beyond reputeOtaku has a reputation beyond reputeOtaku has a reputation beyond reputeOtaku has a reputation beyond repute
Send a message via AIM to Otaku Send a message via MSN to Otaku
Re: Implementing Traction Control for an advantage in the 2009 game

What you could do is use optical encoders with optical encoder wheels on two kinds of wheels -- driven and not -- then take the data from both and make a table that you can use to program the TCS with. Drive the robot on a surface as close to regolith that you can.

Or, you could program it so each wheel has an optical encoder, each side independent, but tell the code that when the non-driven right-side wheel's speed value and the driven right-side wheel's speed value don't match, to slow down the motor until they do and keep it there, in the traction zone.

this assumes, of course, the use of extra optical encoders on non-drive wheels, which would require a drive system with possibly extraneous wheels. But if the bot's 2wd with four wheels, it'd work.
__________________

"The [Otaku] is a simple creature." "Indeed. I cease to function when removed from a mill."
  #8   Spotlight this post!  
Unread 04-01-2009, 17:05
King Duke's Avatar
King Duke King Duke is offline
Registered User
FRC #0991 (Dukes)
Team Role: Leadership
 
Join Date: Jan 2007
Rookie Year: 2004
Location: Arizona
Posts: 25
King Duke is a jewel in the roughKing Duke is a jewel in the roughKing Duke is a jewel in the rough
Send a message via AIM to King Duke
Re: Implementing Traction Control for an advantage in the 2009 game

CAN interface on jaguar motor controller, allows for reading the current and voltage. Wouldn't these spike when the wheel loses traction?
__________________
Mr. Ames
#991 The DUKES!!!!! from Phoenix, Arizona
Cornell MineSweeper- Business is Booming.
  #9   Spotlight this post!  
Unread 04-01-2009, 17:31
d235j d235j is offline
Registered User
FRC #4454
 
Join Date: Jan 2008
Rookie Year: 2008
Location: Philadelphia, PA
Posts: 25
d235j has a spectacular aura aboutd235j has a spectacular aura about
Re: Implementing Traction Control for an advantage in the 2009 game

Quote:
Originally Posted by King Duke View Post
CAN interface on jaguar motor controller, allows for reading the current and voltage. Wouldn't these spike when the wheel loses traction?
The CAN interface is not FRC-legal for 2009.
  #10   Spotlight this post!  
Unread 04-01-2009, 18:04
Blair Frank's Avatar
Blair Frank Blair Frank is offline
Writer and Alumnus
FRC #0852 (Athenian Robotics Collective)
Team Role: Alumni
 
Join Date: Jan 2007
Rookie Year: 2006
Location: Walla Walla, WA
Posts: 49
Blair Frank is a jewel in the roughBlair Frank is a jewel in the roughBlair Frank is a jewel in the roughBlair Frank is a jewel in the rough
Re: Implementing Traction Control for an advantage in the 2009 game

What about using analog current sensors? Would that work, and provide the same functionality as the CAN interface?
__________________
Proud alumnus of Team 852, the Athenian Robotics Collective.

Pneumatics in a nutshell: Put together an elaborate series of pipes, canisters, cylinders, valves and hoses; then fill that system with highly pressurized air, and hope that it doesn't blow up in your face.
  #11   Spotlight this post!  
Unread 04-01-2009, 20:10
DonRotolo's Avatar
DonRotolo DonRotolo is offline
Back to humble
FRC #0832
Team Role: Mentor
 
Join Date: Jan 2005
Rookie Year: 2005
Location: Atlanta GA
Posts: 6,988
DonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond repute
Re: Implementing Traction Control for an advantage in the 2009 game

Quote:
Originally Posted by Otaku View Post
What you could do is use optical encoders with optical encoder wheels on two kinds of wheels -- driven and not -- then take the data from both
Absolutely, but at this time we are planning on six driven wheels and none undriven. I mentiojned that in the intiial post: "but in a robot, usually there is no undriven wheel."
Quote:
Originally Posted by Blair Frank View Post
What about using analog current sensors? Would that work, and provide the same functionality as the CAN interface?
Good idea Blair - you'd need to compare the measured current AND voltage and then compare it to what was being commanded to the Jaguar (i.e., the PWM value), but this may be simpler in some cases than using wheel encoders - and probably a lot less expensive as well.

Why not just current? Because motor output is not directly proportional to only current if the robot can be acted upon by external forces - like a robot slamming into you. The current should remain the same for a given wheel speed so long as you are slipping above a certain factor, but get below that slip threshold and it gets nonlinear. Measure power (Power = current * voltage) and you can be sure all the time.
__________________

I am N2IRZ - What's your callsign?
  #12   Spotlight this post!  
Unread 04-01-2009, 20:17
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

I don't know that there is any team out there quite up to the level of programming, prototyping, testing, and time management skills this might require, but I had a thought and I figured I would put it out there. In watching my favorite car show, Top Gear, I saw the track test for the Nissan GTR. The GTR uses a myriad of sensors to analyze the car's current situation in comparison to predetermined targets. If the car gets outside those boundaries the electronic system appropriately routes power and there by keeps the car constantly in control, while allowing a significant amount of freedom in terms of aggressive driving and cornering. I have no doubt a similar system would be possible for this game, but I am sure it would require a great deal of time and testing. Any thoughts.
  #13   Spotlight this post!  
Unread 04-01-2009, 20:49
DonRotolo's Avatar
DonRotolo DonRotolo is offline
Back to humble
FRC #0832
Team Role: Mentor
 
Join Date: Jan 2005
Rookie Year: 2005
Location: Atlanta GA
Posts: 6,988
DonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond reputeDonRotolo has a reputation beyond repute
Re: Implementing Traction Control for an advantage in the 2009 game

You seem to be describing what I call ESP. Certainly there are teams up to this, and we have the sensors necessary. It is a bit more ambitious that i think our team wants to bem but good suggestion, I'll bring it up. The advnatage is that you also get the robot working to give you directional controls, not just acceleration.
__________________

I am N2IRZ - What's your callsign?
  #14   Spotlight this post!  
Unread 04-01-2009, 21:49
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

I didn't really make my suggestion clear in re-reading my post. I guess the most difficult part of the system I'm describing is obtaining the data to know what those predetermined targets should be. I was contemplating the idea of obtaining them with a robot using a relatively standard kit wheel of similar diameter from previous years, because the rover wheels aren't going to provide accurate driving targets, even off of the Regolith.
  #15   Spotlight this post!  
Unread 04-01-2009, 22:30
DadDean DadDean is offline
Spelling don’t count, Attitude does
AKA: Dyke Dean
FRC #2430 (CyberStrom)
Team Role: Coach
 
Join Date: Apr 2007
Rookie Year: 2007
Location: Greenwood S.C.
Posts: 3
DadDean is an unknown quantity at this point
Re: Implementing Traction Control for an advantage in the 2009 game

I’m thinking two things,
1st by the time you have drive control your robot is going to be hit by another and be out of control.
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 think this game is going to fun to build, play, and watch
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 12:23.

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