Don’t usually post on here but figured that I would chime in and add some things I do to get low friction. This will be a super long post but I am going to go over absolutely everything I do to get super low friction.
Similar to what @Xenon27 said earlier, bent shafts are extremely important. I would say though that having a straight and aligned chassis is also super important. Warping/bent parts is the easiest way to introduce friction without realizing it. Ideally, all your shafts are brand new to ensure they are straight, and use squares and levels to make sure your chassis structure is as straight and aligned as possible. That is by far the most important thing for friction in my opinion and the very first thing you want to do.
The second thing once you make sure your chassis and parts are straight and aligned, is to ensure your bearings and motors are mounted correctly. Some people don’t know this but bearings have little nubs and motors threads have shoulders on them both which fit inside c channel hole to ensure they are aligned. If your bearings and motors are not mounted correctly and not aligned right then you will get friction. The way you ensure you mount these parts correctly is by first putting the motor or bearing in your c channel and apply a force pushing it down into the face of the c channel. Once you have done that, you want to try to move the motor or bearing side to side (while still applying the previously mentioned force pushing the motor into the c channel). If your motor or bearing cannot be moved side to side then that means it is aligned properly in the c channel hole, and while still keeping the force pushing the motor/bearing into the face of the c channel, you want to then screw it down and lock it in. This is much easier to do with motors then bearings but I find that these “1-Post Hex Nut Retainer w/ Bearing Flat (10-pack)” that vex sells (SKU: 276-6481) makes this job much more easy due to the larger peg that goes into one of the c channel holes to ensure that it is aligned. I have personally helped teams get low friction and advised them to replace traditional bearing flats with these and have seen their friction drop significantly due to the hex nut retainers. I have found that there is controversy among the community where a lot of people say the hex nut retainers are bad but I ensure you this is not true. I have posted a variety of low friction videos on my youtube channel and everyone of them was made possible due to those hex nut retainers ( Sean Moody - YouTube)
If you have done the previously mentioned, it is almost guaranteed you will get low friction, however there are a few more minor details you can take to get even lower friction. Again, Xenon27 already mentioned some of this but I will restate it here. Minimize rubbing between moving parts and ensure your spacing isn’t too tight are very important. Also, use screw joints literally wherever you can (placed where you don’t have a motor and places that are short enough to use a VRC legal screw). screw joints just makes the job of getting low friction a lot easier because they are much less likely to be bent and also handle better under load. HS gears are usually harder to get low friction with but it is possible. However, I would use LS gear if possible.
Now we still are not done. Once you have done the previously mentioned you are pretty safe to assume you will have low friction but now you need to test it. Upon building, it is easy to do a “free spin” test where you spin any wheels you put on. This isn’t the most accurate test but generally if your wheels spin any less then 20 seconds then you have too much friction. Note that this is for spinning a wheel alone that is not connected to anything, once you start connecting the wheels via gears to the rest of your drive train, the free spin time will significantly decrease, but it should still spin for a few seconds and feel smooth. Free spin test are fun but the real test is to see how much wattage it takes for your motors to run your drive under no load. If your motors struggle to spin your drive under no load then you will have lots of problems when you put the weight of the robot on it. Here is a video of an example of me testing the power draw of a drive train I made back in high school (I cannot post more then 2 links because I am a new member but look at the video titled " Vex 0 watt frictionless drivetrain" on my previously linked YouTube channel) and here is a thread I made previously about a video I made regarding how to get to these screens and test friction ( Getting power screen for motors, trouble shooting friction - VEX V5 General Discussion - VEX Forum). I always advise teams, no matter how competitive they want to be, to not accept any friction of 1 watt of power per motor because anymore of that and it will significantly affect your performance from my experience. If you do everything I stated here I can almost guarantee you will get very good friction.
Another minor but important thing to add is that do not give up. When first starting to get low friction it will be hard and take a while. My first low friction chassis took me over 2 weeks of just building before I got low friction. But do not give up. We are human and can make errors while building and sometimes you will just have to redo the same joint over and over again before you get it to be low friction. If you cannot find anything wrong with a joint that has high friction then it is likely a mistake you made while building, because again we are humans and are not perfect and that is okay. Do not feel discouraged and just keep on trying to remake high friction joints until you get it right.
I cannot think of anything else to add as of now but if anyone else has some good advice to add then please feel free to do so.