Understood, thank you! Since you were testing by hand, the data you shared actually seems reasonable to me, and the amount of error is actually within the advertised tolerance.
Below is the first loop of your rectangle. When the sensor returned to the origin, the coordinates were (-5, -7), or about 8.6mm from the start location. I calculated the the total path length to be 714mm, so that’s an error of 8.6 / 714 = 1.2%
I looked at the other times when the sensor was returned to the starting location, and it was always around 1%, which is actually pretty good for the sensor given that it was being moved by hand.
A4 paper is 210mm x 297mm, and your data shows the tracked path to be about 150mm x 200mm, which makes sense if you were keeping away from the edges of the paper.
I would be curious to see what happens when your colleague tests the sensor with the robot arm. Assuming a high-quality arm, I would expect the accuracy to be a bit better than your test by hand. However the sensor can typically achieve around 0.5% accuracy at best, so I wouldn’t expect a huge improvement.
Based on all this, it seems to me that the sensor is performing as expected. Your data shows approximately 1% accuracy, which is what’s expected from this sensor. If that’s insufficient for your application, I completely understand! However that’s the limit of what this sensor is actually capable of, so if you need better accuracy, I would suggest looking into alternative solutions, such as encoders.
I hope this helps! Sorry if the accuracy is worse than you were hoping for, but that is within the advertised tolerance, so there does not appear to be any issue with the sensor itself.