In my last post I mentioned that I thought moving the left/right distance sensors from their current positions well ahead of the axis of rotation to a position closer to (ideally on) the axis of rotation might result in better/smoother wall following performance, and today I got a chance to try that out. I designed and printed a sensor bracket that could be super-glued to the already-existing ‘fenders’ over the drive wheels, as shown in the photo below. The old sensor location is the one well forward of the drive wheel, mounted upside down underneath the robot carriage with double-sided foam tape. The new location is directly above the drive wheel, mounted using my new spiffy mounting bracket (adapted from the front sensor mount design).
My theory was that the more pronounce swinging motion out at the old sensor location was contributing to over-correction, especially when the robot’s angle to the wall got to be greater than about 30 degrees – after which the distance to the wall would tend to increase rather than decrease with further rotation.
To prove or disprove this theory, I added a second set of ping sensors directly above the wheels as shown in the above picture. Then, without changing anything else, I made several test runs using the axial pair of sensors instead of the forward mounted ones.
The result was that the left/right wandering tendency while wall following was significantly worse with the axially-mounted sensors than with the forward-mounted ones, as shown in the following video clip. Theory disproved! 🙁
Now that I have unfortunately debunked my own theory about the side-mounted ping sensors, I’ll have to search in other places for ways to improve wall following performance. In earlier work I had noted that if the pings are too close together, distance reporting can get flaky, as the acoustic reverberations from one ping don’t have time to die out before the next one gets received. I had addressed this issue by spacing the pings out in time, but that spacing interval might be too long (or still too short, for that matter). This needs to be studied some more. In addition, I need to revisit the amount by which each wheel’s speed is adjusted to effect course corrections (the ‘adjustment tweak’ value). It may be that modifications to one or both (ping spacing interval and wheel speed ‘tweak’ value) may achieve some performance improvements.