Right side running slower

At our first competition this weekend we go to test autonomous and the robot won’t drive straight. There’s no equasion (like PID) being used, just motor[port#]=127; 4 motor in tank drive. Both right side motors run noticeably slower than both left. All 4 wheels are on separate motors. The only thing in common is the right side are on ports 2&3 and the left side are on 8&9. We intentionally separated the wheels across the two circuits. We put the robot on its back, verified all wheels spin freely and it still occurs. Next we’re going to test swapping ports L/R.

Check that there is not extra friction on the right side. Also check you used the same internal gearing.

Wheels spin freely, replaced gears in all 4 motors

How much is it drifting? Because in reality even when you make the drive as frictionless as possible and tune everything, with Vex parts it’s nearly impossible to get a drive to go completely straight withought some sort of control system (even then it won’t be completely straight). So I would reccomend looking at some form of PID as just working on things mechanically is never going to get a drive that can go straight(at least not in my experience, I’d love to be proven wrong though). Not saying you shouldn’t worry about friction and other mechanical things but with vex parts it’s going to be a lot better in the long run to put some control system on it.

Then swap one of the motors on the right/left side, so it will be like this (S=slow F=Fast, pretend this is the motor layout) This is not the ideal solution, but if you don’t have much time to fix the problem, this should somewhat work.

S F->S S
S F ->F F

Drift is significant. About 1”/2 feet. With robot on its back / motors off wheels free spin ( minimal friction). Also still on back, slow-mo video with white mark on wheel it shows both font and back right wheels running about 10% slower. We will be using PID but for distance targets. I’d rather not try to do velocity control also. I’ll swap side tonight. Then new cortex

Have you guys tried different motors on those ports? It could be the motor itself since i constantly have that problem, but if not then it’s a cortex problem in which a new cortex should fix it.

I have also had a problem with my robot. The right side is also significantly slower and I am using encoders to make it go straight. The code is exactly the same but the right side is moving slower.

It’s a motor problem every time it happens for me. Once i figure that out, i replace the motors and retest. If the same thing continues to happen i check it with other ports to see if it is a port issue. Once all of that fails i just replace the cortex our slow one side done to compensate for the drift.

Happen to split right on lower half of ports?

No, I have them all on the same circuit.

i bet it is a motor issue

Both motors on the left side run slightly faster than any of the 10 other spare motors tested (tested off the robot to make sure there were no friction differences). Some are closer than others. The two left motors run about 5-8% faster. Looks like I’ll have to match motors at @Mira suggested. I have a new batch coming in that I’ll test. I sure hate buying a bunch of soon to be replaced motors.