Drive straight in Driver Control

Hi, so i want to make our robot drive straight during driver control. For some reason, it veers a lot (like 6 inches over 4 feet) to the right and i want to keep this from happening. I know how to do a P controller in autonomous to make it straight, im just not sure how to implement it into driver control.

How many motors are on your drive? That sounds very similar to what ours does when one of the 3 on a side gets unplugged. Check and make sure all of your drive motors are spinning individually, by removing any chain/gears connecting them. Play with the wires while you are running them, in case it’s just a loose connection, not all the way unplugged.

If they are all moving then you can start worrying about p control.

My teams programmer usually turns down the speed across all the motors of the faster side.

You could start by using a debug terminal and printing motor speeds from your drivetrain and joystick input values. If everything looks fine then you can start worrying about p control, like what 8232X said. If it looks like there’s something out of the ordinary, it should be easy to identify the problem.

While I don’t think this is the problem for you since it sounds like your drivetrain runs straight in autonomous, double checking that all of your motors/motor controllers are plugged in/not broken, or checking internal gearing is the same all across, should save you a lot of work if the problem is hardware wise

edit: added a bit more to answer

I replaced the motors on the veering side and now it veers the other way xD. Not so much though, its like 2-3 inches over 6 feet. I think it should be ok for driver control. If there is a way to put P syncing in driver control, please tell me.

You can create a task that runs during driver control that just monitors the encoder values and adjusts the motors accordingly. For example, if the robot is veering to the right, you could lower the maximum speed for the left side drive motors, helping to straighten it out. The issue you might run into is having both tasks trying to set the motors at the same time, but you can work around that a couple of different ways.