|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
|||
|
|||
|
Re: EASY traction control?
Another simple form of traction control as it is kind of hinted at in the WPI joystick filter paper is to use the PID rate limiter to go between the joystick command and the motor command. We tried this quickly and realized a dramatic improvement, however is the EGU/min value was too small, the ramp up and ramp down would take a while especially as the motor command was working its way (at the slow rate) through the deadband for the jaguars. I guess you could disable the deadband, but I'm not sure how this will perform on your bot.
|
|
#2
|
||||
|
||||
|
Re: EASY traction control?
Umm, I personally have never programmed but we just just start out slow and begin to accelerate quicker and quicker so we dont lose grip of the floor and our wheels dont begin to spin. If your wheels to just spin then you have lost all traction, so just start slow then speed up I guess.
|
|
#3
|
||||
|
||||
|
Re: EASY traction control?
You could program so "electric gears". Just have 2 or 3 settings that subtract from your joystick output. To get the buttons to switch without holding the button down, get three selects (programming/comparison). Wire the bottom's select into the false of the one above. Repeat, wiring the very top to the bottom (A feedback node should appear). Put the buttons select into the select, and then put whatever values you want in the true. The output of the top goes into your add/subtract and the joystick goes in the top. Put in a catch for when you add/subtract too much and go backwards when you aren't moving at all.
|
|
#4
|
||||
|
||||
|
Re: EASY traction control?
On our team we realized that traction control wasn't very important, our drivers just need good self control. Especially if you have a low center of gravity like our robot Otis
|
|
#5
|
||||
|
||||
|
Re: EASY traction control?
yea i read all that stuff on traction control and its some heavy stuff to grasp..
so yea like most teams.. we just set the values on the controller putting different speed options, so like on the logitech kit controller, button 3 would be a set slower value to avoid slippage and trigger would be max value speed.. so its up to the driver to figure out what speeds to use and when.. |
|
#6
|
|||
|
|||
|
Re: EASY traction control?
Well, we decided traction control was not necessary by default... i.e. the encoders were inop so the driver learned fast to take advantage of our maneuverability to do a kind of self induced pit maneuver to spin the trailer around and avoid a pursuer. So a short wheel base and a "squared" stick transfer function seemed to work well.
We actually had the software/encoders for a three level traction control. The first level was a backup and just the rate limited stick which others have mentioned. It does limit accel but drivers complain of sluggishness. This is caused by the rate limit being upstream of the motor lag. The motor follows the rate limited stick but its response is delayed about .4 sec. This delayed acceleration response is noticeable by the drivers. Also even though the wheels are not slipping, the delay reduces the benefits over a slipping robot. The second level was a motor torque limiter. This was achieved by limiting difference between motor speed and commanded speed (effectively a current limiter). Only motor encoders are necessary for this and several teams were very successful with this approach. The third level was real time adjustment of the motor torque limit value based upon wheel slip speed. The wheel slip speed requires reference wheels with encoders. V_slip = V_wheel-V_ref. If V_slip>0 then the limit was reduced by some factor. I wrote a small ppt paper to introduce the subject of traction control for the software group early on in the project. I offer it as an addition source of confusion for you ![]() |
|
#7
|
||||
|
||||
|
Re: EASY traction control?
Here's a time-based VI for you, so you don't have to worry about inconsistant execution rate.
(again, you wire the dbl value (orange wire) through it) I found that the drivers complained of sluggishness mainly because of the slow ramp-down. Because the ramp-down didn't seem to be neccessary (you can turn out of the way, you can turn sideways, etc), I made it optional to disclude it. It's a polymorphic VI, in this case meaning you can use it for an array of dbl or a scalar dbl. The 'setpoint' is your input. It's under "ramp" at http://kamocat.com/programming.html#control I'm still working on something that describes robot movement in turn radius, forward speed, and sideways slip. Last edited by kamocat : 11-04-2009 at 19:50. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Traction Control- Help!!!! | naruto137 | NI LabVIEW | 0 | 21-02-2009 13:21 |
| Traction Control Poll | Zorkinian | Programming | 5 | 13-02-2009 11:06 |
| Implementation of Traction Control | keehun | Programming | 5 | 10-02-2009 10:02 |
| PID traction Control | dpeterson3 | C/C++ | 5 | 26-01-2009 21:11 |
| Traction Control Algorithm | Mr. Lim | Programming | 3 | 20-01-2004 14:26 |