Micro Sawppy Beta 2: The Runaway Rover
Once I built up my little rover Micro Sawppy Beta 2 (MSB2) I observed that its steering servos were acting differently from the batch I used for MSB1. Beyond the clearly visible physical differences, these servos also had different control logic that can get into a never-ending oscillation.
A contributing factor here (if not the main factor) is that this micro servo's motor control logic is far too eager in its corrections. It applies too much power and, if that power is not absorbed by damping, we have over-correction which repeats the cycle. In theory the motor controller uses power in proportion to the error in position. If the target position is close, it should use less power than if the target was far away. This particular servo control board has poor (or at least poorly tuned) proportion control. It seems to use the same amount of power whether the target position is close or far away.
The occasional oscillation is moderately annoying for rover steering, but at least it is usually damped out when the rover is sitting on its wheels. I didn't experience the full impact of control algorithm used in these micro servos until I converted them to continuous rotation for rover's six wheel drive. Now the poor proportional response manifests in a rover that I can't run at partial power. I could make MSB1 crawl slowly up obstacles, but MSB2 didn't want to crawl slowly like a real Mars rover would. It is either stopped or booking across the landscape at full speed.
In this scenario I suppose I could also apply damping by increasing the workload. Which means either adding friction to the drivetrain or making the rover heavier. This is assuming the motor will exhibit proportional behavior at higher load levels, which is possible but not yet proven. But despite the light weight causing other problems, I didn't like the idea of adding friction or weight purely for the sake of ballast. So I am going to explore a different venue by removing the flawed servo control board. I'll have to find some other motor controller and use only the mechanical portions of these micro servos as a DC gearmotor assembly.