V5 revolutions and degrees

Our school is new to Vex, we’ve had the V5s less than a month. We are trying to program autonomously for the first time. We built the Robo Rally robot and have created a simple maze for them to go through autonomously.

So my simple question is…our robot, is not reading the revolutions correctly nor the degrees correctly. We have updated the firmware thinking that was the problem. For example, so we want the robot to move approximately 4 feet, wouldn’t that be to set the revolutions to 4, because 4 in. diameter wheel x pi = 12.56 inches x 4 revolutions=50.24 inches. Well, it travels less than 2 feet. If we change revolutions to 10 or even 100, it may move like 3 feet. I just don’t get it-what is wrong with this robot.

Now for the degrees, when we want it to turn say 90 degrees to the left and we put -90 on the left motor and 90 on the right motor, it moves to the left maybe 15 degrees. For the robot to move an actual 90 degrees left turn, we have to put like -300 degrees on the left motor and 300 on the right motor. It is like a guessing game trying to figure this out. Any suggestions?

A possibility is that you have the wrong internal gearing selected for the motors throwing your values off.

For turning, telling the motor to spin 90 degrees does not translate to a 90 degree rotation of the robot. The internal encoder on the v5 motors measures the degrees that the motor has spun so a 90 degree rotation would one quarter spin of the motor not the robot. There is a sensor that can detect rotation and that would be the gyro which measures rotation to 1/10th of a degree.

seanmac0230-when you say wrong internal gearing, does that mean we need to change the green 18:1 ratio on them?

This is how you could calculate without a gyroscope. How far apart are the wheels width-wise, from center to center? Assuming you’re measuring on wheels on an axle around whose center the robot is turning, half that distance is the radius of a circle on which the wheels drive. If you want to make a 90-degree turn, you want the wheel to travel 90/360 of the circumference. Code the motors so the wheels travel that distance forward or backward. Now, if your robot is not spinning around that point, the geometry is trickier, but the basic concept is the same. You’ll have to figure out the radius of the circle and how much the wheels are actually trying to travel tangent to the circle (since they’re probably not aligned with the circle like with an x-drive).

Thank you - that makes sense. We will try it.