So here is the follow up to the post I made last week. Click here to refresh your memory.
There were a few different points of view with the theory so what better way to proceed than some real live tests.
NXT robot, 2 wheels on a smoothish table.
2 white lines, 500mm apart
Program was written to wait 2 seconds then drive forward 1024 degrees. (the 2 seconds allowed the robot to settle and let me get my hand out of the way before it started driving)
75% power 1024 degrees, unloaded. I ran this 3 times and it was spot on in every case.
50% power 1024 degrees, unloaded. I wanted to try and eliminate slippage with the surface of the table. If there was slippage at high power, it would be less at low power. Again all 3 runs were spot on.
75% power 1023 degrees fully loaded. I found a nice heavy book to place over the top (2.2kg). The wheel does deform by a noticeable amount.
This time when I ran it, the robot came consistantly 30mm short. Vary the power and get the same result, 30mm short.
So if there is no slippage with the table, and changing of the wheel diameter does not affect the distance the only thing left is slippage between the wheel and the tyre.
I got some whiteout and marked both the hub and the tire and ran the experiment again. Turns out there is a small amount of slippage, although not enough to account for all the error.
I think it's a combination of hub/tyre slippage and slightly deformed wheel diameter. The rubber is soft enough to compress itself slightly changing the diameter.
What do you think? Post in the comments.