We discovered in testing that the main gear of the robot was being pushed away from the motor bevel gear far enough that it was causing the gears to slip under high load (e.g. turning the robot quickly on carpet). This was causing our heading-hold code trouble too, which would affect our accuracy in the autonomous events. Here’s a video demonstrating the problem – listen for the clicking noise at start and stop:
The usual solution to this problem is a thrust bearing – normal bearings are good for taking load in a radial direction (like supporting the weight of the robot through an axle). A Thrust Bearing is good for loads along the axle.
A quick google showed that suitable bearings would cost 9 pounds each. And we’d have to modify the track frame and drive cog to use it. At that point Shaun asked “Why don’t you just print one?”. Why not? A quick browse of thingiverse turned up a couple of examples of them – suggesting airsoft BBs as ball bearings. A quick play in Onshape later and I had modified the track frame and drive cog to have a channel for the BBs and a cover to prevent too much dirt getting in. And a couple of 4 hour prints later, we had a pair of these: