I have posted before about issues with the drivetrain last year. I accept that there will always be some inaccuracy for turning the robot by instructing the drive train to turn a certain number of revolutions instead of using an inertial sensor or gyroscope.
However, when using a Four-Wheel Drivetrain, what I have noticed is that the robot we have built executes inconsistent turns when turning right versus left. The robot will overturn in one direction, yet will turn accurately in the other. I have also noticed a visual difference in how the robot looks when executing a turn: in one direction it rotates smoothly and perfectly, but the other appears to be bumpy and inconsistent. In one direction the robot turns “on a dime”, the other, the robot actually moves slightly laterally while turning.
We have tried the following:
Swapped out all motors for new ones
Inspected and cleaned all shafts
Modified code settings for different wheelbases and track widths
I have not yet swapped all wheels, but on inspection they appear consistent. Any advice would be greatly appreciated.
Hmmmmm. Without any pictures of your code, but more importantly your robot, I would just have to go off my gut. My gut says that:
Make sure your c-channel is aligned and parallel.
All axels should be supported at 2 points.
Make sure that you have the correct amount of spacers in the drive so that you aren’t adding excess friction.
Maybe see if one side is more difficult to turn?
Make sure that each motor has a solid red light on it - if it is blinking, the port on your brain is dead, if it is off, check the connection, and possibly try a different port.
The “bumpy” nature that you describe makes me think that it might be a wheel to foam issue. Do you have a narrow wheelbase and using traction wheels? If so, you might encounter an issue where your robot “skips” as it is counteracting the friction induced by the tiles. You can fix this by widening your wheelbase or switching to omni wheels
Try making your robot turn really slow and see if it encounters the same issue!
Which direction does it turn on a dime and which one does it not. If its not turning right on one side check your code and your motor settings. Also is this for autonumus or driver control because with driver control it could be some human error. Also could you send pics of bot/code. Completely understand if you cant.
Often, the chassis needs to flex a little to adjust to different dips/bulges on the drive surface.
If your chassis is perfectly rigid, this can cause problems with wheels having slightly different friction against the floor, especially if the chassis was NOT perfectly flat when it was undergoing the final tightening.
Loosen your braces/etc a half turn, just enough to allow some flex.
No…? The squish of the robot against the foam tiles should be more than enough to counteract any minor variances in wheel height. If your drive has more flex than there is in the foam tiles, you are doing something wrong.
Fields are not always level or flat. Field tiles are fairly hard to compress for a ~5 pound robot.
Assembly surfaces are not always flat either… and when I say flat I mean +/- 1/1000" tolerance.
This is to say nothing of field tiles that are damaged, gouged, torn, or not assembled well due to being moved.
When in active competition, being rammed by another bot, the ability to flex a little and maintain traction becomes even more important.
If you’re having trouble climbing the ramp in the 2021/22 competition, a little more traction always helps. Unless you approach the ramp perfectly straight, by definition, you will skew the chassis the moment your wheel touches the ramp.
But back to the OP… wish they would have followed up with the root cause.