Accurate Field Tracking in Autonomous without Sensors

I was wondering if any of you guys know how to accurately track a robot on the field in Autonomous without using the Encoders or Line Trackers. We have a competition Saturday and don’t have time to get these. The robot veers slightly left even though the motors are receiving the same power (127). The robot has a rear wheel 2WD with two 269’s. This makes Autonomous a real pain, having to position the robot slightly to the right of the goals. We usually match load; the elements are so hard to pick up on the field. This will be fine for this Saturday, but for Worlds (which we qualified for and are attending), it will be even harder to match load (it will take longer because the robot needs to be completely in the square) and it also will be hard to re-position the robot to face a goal. I was wondering if anyone knows of an easy way to get motor feedback or to fix the veer-left problem. If anyone knows an easy fix or needs more information, please let me know! Sorry if I am posting this in the wrong forum too.

If you do not have any sensors to use, I would suggest simply changing the power at which your motors are running. If one side at 127 is going faster than the other, which is also going 127, lower the power of the faster side. You could also check to see if one side of your drive has any excess friction that could be removed. Try lubricating the barring blocks to help with that.


OK, thanks, however why would this be happening? Also, how would I track how far the robot goes if the battery changes level? I know I could just set a time to inch constant, but is there any other way?

All motors have some slight variations in them, which can contribute to not driving straight.

Most of the time, though, there’s more friction on one side of the drive system than on the other. Be meticulous about testing the wheels to see if they spin freely.

Re: battery- that’s one of the problems with dead reckoning - if your rate of motion changes, the distance that you move changes. You could do some tests for how fast the robot goes at certain battery voltages and change the duration based on the voltage… (never done it, but just something I thought of)


OK, thanks for the advice! What are you guys thinking of doing for the Worlds Programming Skills Challenge?

In Lego competitions, sometimes they add resistive coupling between left and right axles, to encourage drive straight.

There is also the differential drive train model, but not many Vexers use that.

Extreme precision building and components may help.
Testing motors for matching speeds, designing a drive train so the CW on all motors is forward, etc is another step in this direction, but its still open-loop.

Closed loop feedback from sensors is the best way, since it allows sloppy building, random events, changing battery voltage, changing motor resistance, etc.
Cheap electronics for closed loop feedback allow cheap mechanics to perform perfectly.

Some non-Vex robots get good results with lidar mapping or even optical mouse tracking dirt on the floor.

This is kind of unrelated but, the thing he mentioned about the robot needing to be completely within the square at worlds … is that just for programming skills or during actual competition too?

Just the Programming Skills Competition. See this document for more details.

Thanks, that would have completely messed up my autonomous, we’re only legal by a ziptie

This is really important. If you want to get the most power out of your motors, they need to drive straight when you tell them to go full forward (otherwise you’ll need to artificially limit the maximum speed, through a constant multiplier, a constant subtraction, or a sensor multiplier)
We ran several tests on many different 269 2-wire motors, and we found that they spin approximately 3/4 as fast one way than they do the other. We also determined that the older 3 wire motors do not seem to suffer from this problem. Keep that in mind when building your drive train, and try to see if you can build it so that the the wheels spin the same way when the motors are powering on their better direction. One way to accomplish this is by adding an idler gear into one side of your drive train.

Is this true, that the robot needs to be completely within the square to legally matchload?

For the world programming skills, yes. Otherwise, no.