|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
One Side Drives Faster than the Other.
It appears I have the classic one side drives faster than the other problem (right side is faster). I believe this problem is caused because the motors spin faster one way then the other (correct me if I'm wrong). We are using 2 small cims on each side. How is the best way to resolve this problem, put a limit in the program maybe?
Appreciate suggestions. Thanks |
|
#2
|
||||
|
||||
|
Re: One Side Drives Faster than the Other.
There are so many answers to your question that it would be much simpler to answer if you gave us a little more information.
1) Are you using a mixing function to drive from one joy stick? 2) Are you using two joy sticks to drive. 3) Are you using a different control system, if so, what? 4) Do you have some sort of velocity feedback, like, gear tooth sensors installed? With out that info, I would only be able to guess that you have a trim pot on a joy stick out of position. |
|
#3
|
|||
|
|||
|
Re: One Side Drives Faster than the Other.
We are using the two flight sticks, both are identical. We don't have any feedback atm, we may install that later.
Additionally we have tried replacing the slower of the two with a different stick, this does not change the problem. Last edited by Craig1989 : 09-02-2007 at 16:00. |
|
#4
|
||||
|
||||
|
Re: One Side Drives Faster than the Other.
Quote:
I've found that the easiest way is a gyro-based feedback loop that corrects for undesired yaw. Almost as easy is a speed-based feedback loop with shaft encoders that keeps the robot's wheels moving the same speed. |
|
#5
|
|||||
|
|||||
|
Re: One Side Drives Faster than the Other.
Quote:
How did you determine if the driver wanted a straight line or not? did you look at the difference between the two sticks? Any feedback would be appreciated. |
|
#6
|
||||
|
||||
|
Re: One Side Drives Faster than the Other.
Quote:
Adding velocity feedback or as kaszeta suggested, a gyro would give you a single input to sample. GTS on each side would be a little more complex, but would give you more accurate control. It's your choice, but it sounds like some sort of feedback is in your future. |
|
#7
|
|||||
|
|||||
|
Re: One Side Drives Faster than the Other.
While feedback loops are the best way to get perfectly even performance on both sides, if you are experiencing severe undesired turning on a CIM drive system I suspect the problem is mechanical, not electrical.
My understanding is that the CIMs are very symmetric motors and exhibit almost exactly equal performance in each direction. (unlike some other DC motors that are timed for higher performance in one direction) Check your drive train... gearboxes (does one turn more easily than the other?), chains (differing chain tensions can cause extra drag on one side), sprocket alignment, and bearing alignment for your axles. When you power down and turn the wheels by hand can you feel a different "stiffness" from one side to the other? Is your battery mounted to one side, or do you have other weight distribution differences? That might make a difference, too. If you have access to a clamp on ammeter (or other convenient means of measuring current), put your robot up on blocks and run both sides full-forward and full-reverse. Does one side draw significantly more curent than the other? If so, that is a sign of a mechanical friction-type problem more so than an electrical problem. For three years now we have used open loop control with the small CIMs and while the robots have not travelled perfectly straight, they have been good enough to be competitive.... once we got the tensions equalized and the transmissions broken in. There is, however, a limit to how good you can go with this, and if you want perfection you are going to need some form of feedback. Jason |
|
#8
|
||||
|
||||
|
Re: One Side Drives Faster than the Other.
Quote:
I've posted sample PID code for the gyro in some other threads, just look at some of my recent posts. Nothing terribly difficult to implement, although it helps to have an understanding of how feedback loops work. |
|
#9
|
||||
|
||||
|
Re: One Side Drives Faster than the Other.
One way you can slightly correct this issue is by putting your robot up on blocks and calibrating your speed controllers, if that doesnt work, you can try to do a more simple P function to correct for the difference between the two motor outputs.
Cheers! |
|
#10
|
|||||
|
|||||
|
Re: One Side Drives Faster than the Other.
do you have all 4 motors facing the same way?
http://www.chiefdelphi.com/media/photos/26744? you can see how the motors have a identical position. one of them has a extra chain and sprocket to reach the wheels. this could solve your solution also. |
|
#11
|
|||||
|
|||||
|
Re: One Side Drives Faster than the Other.
Although, as posted before, the CIM's exhibit very little bias as produced, small factors such as slight mounting shifts, small binds in the motor itself, and other minor variables will affect the performance of different motors slightly. If the issue is not as simple or noticeable as a bind in one side or the other, you may want to try a different motor pair.
As far as software compensation, as also stated before, try adding a constant in front of you problem motor's output to adjust. I would not recommend calibrating the Victors however. If the problem is not a static one, you will run into problems during autonomous, and it can create other unforeseen, mysterious issues. I speak from experience here... |
|
#12
|
||||
|
||||
|
Re: One Side Drives Faster than the Other.
Quote:
Once we switched back to our original tank drive (two joysticks), the robot drives like a dream. I prefer driving this way as well - try using two-stick control and see how your robot handles. Otherwise it's mechanical. Test the gearboxes and poke around to see if theres any issues. Make sure the wheels are aligned perfectly with the chain, and the drive sprockets are properly mounted to the output shaft of the gearbox. Also if your chains are really tight, try slacking them up a bit, so they can be a bit more flexible. |
|
#13
|
|||
|
|||
|
Re: One Side Drives Faster than the Other.
try calibrating your speed controllers. This a lot of times can be the problem.
|
|
#14
|
|||||
|
|||||
|
Re: One Side Drives Faster than the Other.
Craig,
All of the above suggestions are great but no one mentioned that wiring might be an issue. If you have desigened the robot with all of your electrical on one side and there is significant length of wire feeding the side that is slow, you may be experiencing current reduction in that motor set. If you are using #12 wire there could be a significant drop in the wire. |
|
#15
|
|||||
|
|||||
|
Re: One Side Drives Faster than the Other.
On a side note....
We received our 2 kit small CIMs...We looked at them, saw they were CIMs and put them in the locked cabinet until we needed them. We took them out to mount em up, and I gave each motor shaft a quick twist. The 1st one was perfect, teh 2nd one, was horribly bound up. About half of the rotation was flawless, the other half required a bit of effort to turn. We figured we'd put it in the drive train to see if it would work itself out, but it appears that it may be getting worse. Any comments to this?? |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| [wiki]: how to save more than one prog. in the RC | Edourdo | FIRSTwiki | 1 | 04-02-2007 17:29 |
| The American War on Science (FIRST is on the other side) | JoelP | General Forum | 18 | 09-06-2006 14:47 |
| Turning; easier one way or the other? | FizMan | Technical Discussion | 14 | 03-07-2004 14:03 |
| More than one joystick from one port | Jmoo | Programming | 3 | 26-06-2003 18:01 |
| How Do I Program My RC To Spot One wheel From Going faster than the other | Kyle1010 | Programming | 5 | 12-01-2003 15:30 |