I’ve implemented a PID-based closed-loop system to ensure my bot travels in a straight line.
The data says it is going straight. The difference between left and right wheels never really gets above two ticks ( 2/48th of a revolution). However, the bot seems to be deviating quite a bit from straight. Mighty confusing.
And here is the video of what actually happens:
Obviously there is more than 2/48th of an error going on here.
And what actually happened:
This time the deviation is not so bad but still form the data I would expect much less deviation.
For one of the runs I added more weight to the bot, figuring that traction is an issue.
Data looks the same:
I have verified that the encoders are accurate. The PID controller is doing only minor adjustments to the motors. I’m thinking that the issues is to do with traction or vibrations bumping the bot laterally.
My next step is to eliminate all traction issues using a rubber mat of some kind….
As I suspected the issue is traction. The wheels are not ideal for hard surfaces. I turned over a floor mat with rubber underlining and used that surface to test with. The result was near perfect straight lines:
The masking tape was probably causing some loss of traction too but it was clear, after many runs, that traction is the fundamental issue I’m dealing with. Not too happy about that. Means the chassis system I am currently using is not suited for accurate navigation. One of my goals is to have a bot that can accurately navigate spaces. I do have a track based chassis that hopefully performs better. Maybe there are softer tires I can get for my current wheels….