Finding the tracking center of a robot's odometry system

Hi everyone,

Recently, I have upgraded my robot from using just a IMU and the IMEs of my drive to installing a Horizontal Tracking wheel using a V5 rotation sensor with a 2 inch omni wheel.

I am using LemLib to program my robot, and while it’s odometry system works fine in a 15 second autonomous without a tracking wheel, without any solid tracking data my robot loses sense of where it is within 15 seconds in programming skills. I tried to enable the tracking wheel via code but while it worked it was more inaccurate than with the tracking wheel off and I have been trying for days to find the right offset value but I can’t seem to get it right.

My robot has traction wheels and that changes the center of rotation since it’s slightly toward the back now, but I tried to spin the robot in circles both using my joystick slowly and programming a PID to spin in a set amount of circles for me (ensuring that both sides go at the exact same speed to ensure no drift) to see how much my Rotation sensor rotates. I used this to calculate how much it has rotated to find the radius of the circle it created (which is the offset of the tracking wheel from the center), however even after 50+ attempts my values range from -1.5 → -1.8 inches as the result of my calculations. (that is about accurate my ruler physically measures within the -1.7 range but it is very hard to know where exactly the tracking center is physically). What else could I do to find a accurate offset for my robot? I have also ensured that my Rotation sensor is not moving/skipping due to a lose screw and that the tracking wheel is always contacting the ground and spinning while the robot rotates (using a rubber band to hold it down)