I was thinking about that. Actualy there is a small error, where the WAS is positioned on the wheel knockle this value is not the actual heading of the traktor. The angle is a little less if the WAS is mounted on the right wheel when you turn left. If you turn right it is then bigger.
It is why some have trouble to turn in the uturns, going straight or almost straight the error is very small. We don’t notice the problem, but when the angle is greater, the error is bigger and the PID can handle it. Or the PID calculate the turns just perfect turning in one direction but then in the other it makes a mess. AOG has ackerman fix don’t know if this is the solution to solve this??
But what I suggest is to make a calibration form in AOG, so AOG knows each value of the wheels and the wheel angles; the max WAS value to left and right position, the center position and calculate a count per degree for the left and right, this automatically by driving straight for a couple of meters and take an average for the zero angle(wheels straight).
make a couple of turns to the full left, with the gps we can map the circles we made and again take an average of that to know the radius when turning max left. Also the value of WAS in full left position. So we have a count per degree in left direction. And do the same to the right.
Now when turning left we calculate with the left count per degree and convert Alfa( the heading AOG wants the traktor to go) to Beta the wheel angle sensor itself.
just to make simple again ; because the WAS is mounted on the wheel knockle doesn’t mean that this is where the traktor goes.
and making a good calibration form, everybody should have the perfect counts per degrees in both direction. And with this the PID will be easier to adjust for everyone.
after this; if the steeringPID is well tuned, we can make an other PID system to control Alfa, this with the error we have from track to track.
example: if the GPS and AOG calculate we are 2cm to the left, give Alfa a certain degree in function of the speed, wheelbase, hitchlenght, tool lenght, sidehill and heading. and control with PID how much overshoot / reactiveness we want.
I know the second PID is not easy to code or to tune and certainly not if the steering PID is not working properly.
So this is my Idea to make good steering calculation and make the traktor drive better in traight lines and in the Uturns.
Hope you understand me a bit, and thanks for reading this