How to solve Friction problems

I built a drive train today and tested it. The whole left side of the gear train is way stiffer than the right side. The right side is much smoother.
Possible problem:
I messed up on the bearing flat placement so our drive train has a part of a bearing flat sticking out.
I also think I might have put too much spacing.
Another possible problem was probably the standoffs. I really had to press the base tightly to be able to screw on the stand-offs.
Also if you have any suggestions for more support on the base that would be appreciated since I only put 1 c-channel as support.

Would lubrication on the wheels help if so where can I find some?
Remove spacing?
Take off the standoffs?


1 Like

do you have a video comparing both sides?
also, does it drive straight?


I couldn’t get a video but I will try to get one tomorrow. When I tested the robot the motors move the robot smoothly in driver controller, but when the robot is off when you try to move the wheels one side is very much more stiff than the other.

1 Like

Ok, a couple issues. To start with, you aren’t constraining the concentricity of the holes with anything other than the shafts. This is why regardless of your spacing, you’re going to have pretty bad losses; you need some kind of cross bracing between the two drive sides so that they stay parallel. The singular standoffed c channel in the pics in the google doc isn’t nearly enough; the contact points are way too close together and doesn’t do much to help the bending moments on the channels. You want at least two cross braces (preferably on opposite sides of the drive train) to minimize bending moments and ensure concentric alignment of the bearings.

You also have a ton of shafts, most of which can be switched out for screw joints since they’re just idlers- in fact, even the driven wheels can be screw joints. I also recommend using shoulder bolts for the cross bracing and screw joints I mentioned so that everything stays as square as possible.

On another note… it looks like the motor gear and the wheel’s gear are both 60t… All the other gears are acting as idlers which increases both friction and slop substantially. I would recommend doing direct drive if possible, and if you want the built-in redundancy of having both wheels coupled to both motors, I would recommend using chain.

Lubrication will help, but unless you fix these fundamental design issues, you will still have a lot of frictional losses.


Thanks for the advice.
I will try to add cross bracing.
I will also attempt to reposition the bearing flats.
In addiction how do you add screw joints to something longer than 2 inches? I know you should always use screw joints on parts without using a motor but how do would I be able to imlement screw joints on this base if the screw is not long enough?

1 Like

@Unionjackjz gave a concise and thorough description of a tried and tested way of achieving unhindered wheel mounting recently in relation to a release of two robots for this season: Harvard-Westlake Robotics: AMOGO x DOGO Reveal - #31 by Unionjackjz


Thank you for posting this!

Another thought, it’s generally bad practice to use the edge holes of bearings flats when using shafts. Putting a shaft in the edge holes makes the bearing much more likely to shift over time and grind out your metal. Try to always use the center hole for the shaft, and the left/right holes for screws, making sure you have two screws for each bearing.

Bearings can go bad over time and compress, making the holes smaller. Always check your bearings before putting them on your drive train, check that the center hole is low friction and the little “seeds” on the back of the bearing are intact. I only use new bearings on drives.

Same thing for shafts, older shafts have a higher chance of being slightly bent. I also only use new shafts on my drives.

Adding to this, lubricant should be used after the mechanism is already square and low friction and there’s nothing else you can do to lower friction to make the mechanism that extra bit better.

The lubricant I recommend is DuPoint Dry Teflon. This link changes every once and a while to an aerosol bottle, and that is not what I use, as aerosol lubricants have been illegal in the past (not sure if they currently are).

This goes on wet, and when it dries it leaves a dry white film on whatever you put it on. It helps a lot.


Teflon is a cunning plan. I assume aerosols will inevitably throw material where it could contact the mats, so whether they’re legal or not, perhaps don’t use them directly on the robot. Tried my can of WD-40 brand PTFE sprayed on a q-tip and thence to the bearing just now and it seems to deposit well enough. This one has a straw-type application thing so it’s easy to hit the q-tip on a paper towel.
OK, detail: since this forms a film, the instructions are telling me to apply it to a de-greased surface and allow the solvents to evaporate. So, isopropyl or similar first on all the surfaces that are going to meet so the lubricating flim stays put.


In a quick search I note that there are also non-dry formulations of PTFE. I am not familiar with them, but I assume they don’t do the staying-where-they’re-put thing? I appear to have a dry formulation purely coincidentally.


For more information on designing geared drives, you could also look at these:
Designing a Quality Drive
Designing Another Quality Drive


This is the video of our drivetrain.

I saw some issues and fixed the spacing.
I also make sure that the bearing flats were aligned.
Even so, there is still some slight drift to the robot.

Longer video:

Here’s a list of stuff to consider.
You’re driving on a carpet, and the pile of a carpet is never perfectly vertical, so that will bias your path.
A parallel omniwheel drive has no lateral constraint so it will surrender to the tiniest whim of a carpet or undulating surface.
You’ve got a big heavy battery hanging off out in space so it has the maximum possible moment of intertia, so setting off swiftly an turning will be resisted in a way that causes the carpet pile to squish to accommodate the attempted change. All sorts of things will happen on the scale of a wheel’s contact patch and depth of carpet pile that you don’t want. Certainly I would expect a yaw to the battery side on sharp takeoff or braking.
You’re piloting it in tank mode, so you are unlikely to perfectly synchronize pushing the sticks forward, so that could introduce further initial veering to one side, and the lateral component of that momentum will last some period till it’s lost in friction and deformation of the carpet. I would guess mostly carpet and not long, but you could see how far the robot will drift if you just push it to the side by hand.
Driving on a hard floor or competition tiles would remove any pile direction problem, but be aware of undulation of the surface.
Coding arcade drive would allow you to reliably express an intent to drive straight ahead from the start.
You have no control over going sideways other than initiating skids - no stopping power. During auton you are subject to variations in the level of the field surface, which may be comparable with the carpet or worse. Whilte driving, you’ll have to be ready for someone who would prefer you to be further to the left or right.
Enough from me.


I have posted a new link.

Thanks for the info. I appreciate it!

1 Like

Your robot is is balncing and put the tires on the outside of the c chancels.

Are you really telling them to put wheels on the outside of the c-channel? We ain’t trying to have camber here lmao


Also, lets assume you set the velocity to a number. What is really happening is the motors are trying to keep spinning at that velocity by modulating the voltage applied to the motor. It is reactive, so if there is a sudden decrease in velocity due to the carpet, friction, whatever, then there will be a short moment that one motor is faster than the other. That is, until the other can catch back up in speed, but the difference will already have caused the robot to turn slightly.

This idea also applies during acceleration. If one side has more friction or inertia than the other, then it will cause that side to take slightly longer to reach the desired velocity, and a small turn will be imparted in its motion.

So between inertia, resistive forces, motor strengths, build quality, tank drive, and more, there are tons of reasons that the robot would not drive straight.

Slightly reducing maximum speed and using an inertial meter and a PID might sure that up some, but trial+error and arcade style sticks should take care of most of it. Identify when the bias is introduced and fix it, and make sure you test exclusively on foam tiles.

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.