It looks like I have basic manual and automatic ground steering working using differential thrust and the rudder. This is on an X-UAV Clouds twin tractor plane with a single axle drop-out wheel pair for the ground roll. There is no nose or tail-wheel. Both wheels are locked to the axle.
The rudder has no effect at very low speeds. But differential thrust under manual control works well for steering at low speeds. I'm on a grass field and the plane can turn as needed even with the locked axle.
Without automatic ground steering enabled, at higher speed, the plane will proceed in a straight line sometimes. But sometimes it will start to turn. I was not able to come up with a strategy to stay ahead of the turns once they started.
But, with automatic ground steering enabled in ArduPlane, the Pixhawk seems to be able to catch the deviations and correct them.
Tuning this was done by trial and error. I started out with a STEER2SRV_P of 4 (twice the default) thinking that the absence of a steering wheel on the ground would require more response. That didn't work, so started trying other values. 2 was worse. 8 was clearly improved, but the plane still seemed to be reacting a bit too slowly. The final change was to 10 which is the highest allowed value for the P term.
I have not tried adjusting any other values at this point.
Since I have the P value at max, I'm concerned that the controller is may just be on the edge of being able to hold course. Possible areas of improvement:
- Increasing the mix of rudder to differential throttle from 10% to 15% (increase ability to correct)
- Increasing STEER2SRV_IMAX
- Increasing STEER2SRV_D
- Decreasing STEER2SRV_TCONST
All the above options (except the rudder to differential throttle gain) are the opposite of the changes recommended to reduce weaving.