If you reset the gyroscopic sensor to 0 before/after every turn, that could cause the problem you are seeing. The reason behind this is, if your robot does not turn exactly 90 degrees, there will be some amount of degrees that your robot did not cover, which will be forgotten when you reset the gyroscopic sensor to 0. This could cause turns to appear to shrink gradually in size over time.
Another cause could be if the “SensorScale” for your gyro needs to be tweaked. Place the following piece of code into the pre-autonomous function (first change “in1” to your gyroscopic sensor’s port, or the name you gave the gyro in Motors and Sensors Setup), and try tweaking the number up/down to fix the scale:
SensorScale[in1] = 260;
From now on, for quicker responses, you may want to post in the Unofficial Tech Support forum, so that any forum member can help you out.
Forgot to mention:We are turning 90 degrees and turning back 90 degrees, and by the third iteration of this process, we are only reaching 87 on the positive turn. We’ll try what you’ve mentioned and see what happens. Thanks for the advice!
Can you post the code being used to turn the robot (using the
tags on the forum post)? We will need this info to debug the program and determine what is causing this type of behavior; you may have a bit of built-in error compensation that is causing the robot to turn slightly less than what is supposed to.
I'm going to point the "Official ROBOTC Tech Support" thread to this one, as the ROBOTC support staff can respond to both (and there is already a discussion going on in this thread); this should help keep the cross-posting confusion to a minimum.