SEE POST BELOW BY ME FOR LATEST QUESTION!
So we have discovered that our 3-wheel tracking setup or odometry (coded in PROS using okapilib) is consistently reading the correct heading of around 0 degrees when turned 360 degrees (by-hand) clockwise, but around -15 degrees (345 degrees) when the same is done but anti-clockwise (or counter-clockwise for Americans!). We know that the quad encoders themselves work perfectly fine and the code is unlikely to be the issue since turning one wheel at a time (when the robot is upside down) produces consistent heading readings, both encoders, both directions. We therefore believe that it is some kind of mechanical issue, however both left, right and center tracking wheels are evenly spaced to the nearest 3mm or so. Each wheel is elasticated downwards on levers.