Robot drift and turn

My team is on our third bot of the year and we still have the same issues with our drivetrain it has a drift and when it turns only one side of the wheels spin we assumed it was because of asymmetry however after fixing this and checking for points that could be rubbing on the field, it still has these issues we have even tried getting rid of the gear ratios and making a torque one to no avail. Does anyone know why this might be happening and if so how to solve it without building a whole new bot (we have a competition this Saturday) it is not a huge deal in our driving but is a large issue when running autonomous programs.

Could you send the code and motor configurations you are using to control the drivetrain. Photos of your drivetrain and a video of the issue would help.

Sorry, the Github didn’t work on the last one, here is the link : GitHub - Trishul-creator/Autonomous-Project-32630B

If this happens, you should first check the weight distributed on your robot. If the weight is distributed unevenly you should correct that. You can also use a PID or PD control loop system to make sure that the robot drives straight and turns correctly even with other factors at play. PID Control Loop System.. This is a forum in which I have explained PID at a basic level. I highly recommend using this technique to refine your autonomous programs and keep it consistent.
My Github With PID Program : [quote=“Trishul, post:4, topic:132232”]
GitHub - Trishul-creator/Autonomous-Project-32630B
[/quote]

Also, it could be a physical issue. Try switching the motors around, then the gears and wheels.

So, this is a common problem in IQ, and the only way I have fixed this is by changing the velocities of the drivetrain motors. For example, if the robot is +5 degrees off the desired angle, then you would decrease the left side’s velocity untill the robot is going ar the heading you want. This works well for having your robot at the correct heading, however, the robot will be at a different position laterally.

1 Like

This happened with my team before, are you using the stuck on the controller or buttons to make it work?

Yeah give me a bit though I’ll get you them later today

We are on our 3rd drive train of the year and we have not been able to get 1 to go straight. it always curves. this is been effecting our autonomous because we will never know if our robot will drift and how bad it will drift. what should we do.

1 Like

The drift can be a result of software or hardware issues. Can you send photos and/or videos to demonstrate the issue?
Usually, the cause of the drift/curving is via bad friction on one side of the drivetrain, OR that the motors are set wrong or that you may have coded the drivetrain wrong. I would definitely check your code and manually check to make sure all motors spin in the SAME direction. Also would check friction to see if one side is significantly worse - that can be the result of screw joint, spacing, etc.

same with us… I checked the weight distribution and reduced the speed and set the drive heading to 0, calibrated the inertial sensor and still having the problem…
what type of wheels are you using?

I’m currently using omniwheels I unfortunately couldn’t get a videos or try anything today but I’ll try y’all’s suggestions and get back to y’all tomorrow:

If the motors have been the same all along, check and make sure one of them is not spinning slower than the other. We had that problem with our catapult mechanism.

Here are some videos of the drift and photos of the drivetrain




IMG_51011-ezgif.com-video-to-gif-converter

What I recommend doing to just align it to the goal is to add “auto aligners”. They are simple enough to build and could help a ton in competitions. This may not fix the issue of drifting, but you can align to the goal better.

1 Like

we have some but the drift is so bad they dont work enough

1 Like

Cable management and chain tension? Check to ensure that all cables/pneumatic tubing are well away from the drive chain on either side of the bot. Also, a tight chain on one side of the bot can increase the resistance and cause the robot to pull to that side. Is the chain tension equal on both sides? Happy building and problem solving :grinning:

1 Like

Btw he’s my teammate

1 Like

It’s the motor on the side that adds more weight, therefore your robot is drifting that way, add some counterweights on the other side. If this is only a problem in auton, then do a PID loop system

1 Like

hello, I hope your problem is solved.
for us it’s the same exact problem of drifting. We fixed the weight distribution.
we tried the caution tape Gyro Straight code. it worked for the turns and for moving forwards. but for moving backwards, when we enter the distance and velocity negative it moves backwards only if KP is 1. meaning no correction is happening.
how can we start understanding PID better? we are also close to competition :frowning: