|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
||||
|
||||
|
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.
|
|
#2
|
||||
|
||||
|
Re: EASY traction control?
One of our programmers is a wicked smart calculus and programming guy and he rigged up this monster program (at least to me) that would decreace the speed of a wheel if it was slipping, therefore giving it more traction (we have four wheel drive). I don't know the details, but he took the PMW signal that we were sending to the motor and figured out how fast the wheel should be going. Then, using the encoders that we installed on our gearboxes (which are basicaly rotation sensors), we figured out the actual speed of the wheel. We compared those two values and if the wheel was going faster than it should, it must be slipping, so we reduced the power to that wheel. (the code is a lot more complicating than that, though (it's LabVIEW, by the way))
We also have a system that has been previously mentioned, where instead of powering the wheels at the exact speed that the joystick is telling them to run, the code just increaces the speed of the wheel incrementally if the joystick-user wants to go faster/slower. We call this our acceleration control system. But actually, I personally find the acceleration control stated above bad. Because the robot speeds up and slows down slowly, the turning and stopping is delayed and effectivly the robot's reaction time is slow. This was very cumbersome and most of the time people on our team were just constanly holding down a button that we had programmed which would turn off this feature and we would just drive carefully. I have thought about keeping our traction control system, but re-doing our acceleration control system. Since mostly we were just driving carefully and slowly, we could simply divide the joystick value by 2 (or something) and then our robot would drive slower and we would have more control. In many games, and especially in 2009, drivers are manuvering precisely and this control is a giant benifit. If you did need to go fast (like you were trying to sprint down to the end of the field), then one could hold down/push a joystick button and the motors would use the actual joystick values and would not divide them by 2. So that's my input, see what you think. To restate, I think the incremental acceleration control has merit, but after trying it out on a robot, I found it to be cumbersome because of the slow response time of the robot and would have rather liked to have had a slower robot that therefore had more control. Whew, what an essay! ![]() |
|
#3
|
|
Re: EASY traction control?
What 399 did was a simple open loop system. We took the joystick value and cubed it. this makes the values non-linear and has some deadband in the motors. The drivers have more control over the speed in the low traction environment.
|
|
#4
|
|||
|
|||
|
Re: EASY traction control?
Quote:
Having a disable/enable feature is a good idea. |
|
#5
|
|||
|
|||
|
Re: EASY traction control?
Quote:
We did a similar thing with 2 multipliers to the Axis Value depending on the button. In our set up we used only the Y-Axis for the Value. We had a Trigger and a Pinkie Button, so the Trigger was a (y*.65) Value. The driver with the trigger depressed could use the slower speed in addition to the fact he would creep up to the full value on the axis. The Pinkie finger would be another value... depending on what you needed. It isn't an elegant solution to the problem, but it worked for us. We didn't use a standard Tank drive system so Spinning Out was not as much of an issue for us. And if your driver complains about using this method go tell him to program what he wants ![]() I attached our code... and you get to witness my Worst photoshop job ever... Last edited by JasonF : 13-04-2009 at 23:01. |
|
#6
|
||||
|
||||
|
Re: EASY traction control?
Quote:
This is a terrible way to run your programming. Being a driver and a programmer, i know that the programming group should do their best to build controls the way the drive team needs it, even if it's not the easiest to do. Even if you were kidding/being sarcastic its not very good teamwork... ![]() |
|
#7
|
|||
|
|||
|
Re: EASY traction control?
Quote:
to clarify I am the only programmer and the assistant Driver. I am always asking the main driver with how he can best drive the robot, is the crab drive correcting too fast, what feels most responsive, etc... Last edited by JasonF : 13-04-2009 at 23:38. |
|
#8
|
||||
|
||||
|
Re: EASY traction control?
thank you for clarifying. just putting my two cents in too fast i guess, sorry for snapping at you textually.
|
![]() |
| 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 |