For my VRC Spin Up bot, I have a 6 motor drive with 8 wheels (6x torque motors, 3.5:1, 350 RPM) that works flawlessly (most of the time). There is no rubbing or major friction, and everything has held up for many practices. Recently, whenever I activate my intake (1x speed motor), the whole bot starts drifting to the right. If I leave and reopen the program, it works perfectly fine again until I spin the intake. Some team members thought it could be an issue with the power rail in the brain, so I tried it on several different ports and it still has this issue. Anyone have any ideas?
Could you send a picture of your code? I don’t understand what the problem could be here, but I need a visual picture of the code so I can see what’s wrong.
Recommendations: Put the drive code onto another When Started instead of how you set it up. Check the code where it can be possibly one part that overrides the original drive code, so check where the intake spinning code is and see if it does anything in the drive code.
It’s odd that it only drifts when you run the intake, but it never hurts to recalibrate the sticks on your controller. You’ll find the option to do this in the settings menu of your controller.
Solved! We converted the code to C++, everything works fine now. Direct copy + paste, but its fixed. Not sure exactly what caused it but I do know the fix.
Seems weird for a code glitch. But happy to help!
It’s back because we lost our code, but were able to find an old version of it, which unfortunately still has the bug, and changing everything to text doesn’t work this time. So now I have to find a new solution. (This was after our entire program just stopped working out of the blue)
Update #2: I fixed the issue again; transferring from block code to text code didn’t work the 2nd time, so we copy + pasted everything into a new program and set up the same thing (again, purely same code but different program, just with C++) and it works just fine now. So if anyone else has the same issue and converting to text doesn’t work, try moving to a different program.
What exactly do you mean by drifting to the right? Does it/did it turn to the right as a rotation in yaw to point in a slightly different direction, or did it just freely roll sideways because the omni wheels can’t stop that happening if it’s pushed? And does it just happen briefly when you start up the intake, or does it keep drifting? Changing the language you write your code in shouldn’t change where your control actions go.
When I started the program and moved the joystick forward, the drivetrain would drive straight forward. I would then spin the intake motor in any direction, and then do the same action of driving the joystick forward, only this time it would curve slightly to the right (only while driving; seemed like a motor not being powered, even though they all were). It does this broken driving every time you try to drive it while in the same program as when you spun the intake. Exiting and reopening the program made the robot drive straight again, and spinning the intake would break it again.
It’s puzzling. Does it do all of this without you picking the robot up? Try driving it around more in lots of directions without resetting the program or picking it up so you might get more information on when things change. I have no idea what’s happening right now. You could post a photo of the robot, too - someone might spot something structural that can distort. If the chassis flexes, that could potentially change how it moves.
The feed acts as a gyroscope for the bot. When you spin it, the weight is uneven causing the bot to drift more than usual. This can be fixed by having 2 omni wheels on the front and normal on the back or having omni wheels on the back and normal on the front. The main problem with drifting is having an all omni-wheel or multi-directional drivetrain.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.