I have tried to follow the guide at:
rover.ardupilot.com/wiki/apmrove … r-a-rover/ for tuning my rover.
The rover is driven with 2 motors on the rear wheels, 1 on each side (SKID_STEER_OUT=1)
the front wheels are free to rotate.
in manual mode everything works fine. in steering mode i have some difficulties understanding how the different parameters work together.
I have a good understanding of PID Controllers but it seems that they don’t work exactly like a normal PID due to the extra parameters. (TURN_MAX_G,STEER2SRV_MINSPD++)
I understand the parameters like this:
TURN_MAX_G is scaling the input to request 0 to TURN_MAX_G Rate of rotation?
Then the PID comes in to play to achieve this. It is run at a rate specified with STEER2SRV_TCONST?
STEER2SRV_MINSPD is some kind of scaling of the pid for slow speeds?
In auto, NAVL1_PERIOD updates the setpoint of the heading PID loop with a new heading to the next WP?
The guide says to measure the turning circle of the rover.
With skid steering this is 0 since it turns around the center of the drive wheels.
The APM and compass is mounted between the drive wheels also.
Default P is 1.8 and that gives me a lot of weaving.
I know that a PID loop without a P value is useless so this has to be > 0;
I have managed to get it working-ish with these settings:
SKID_STEER_IN,0
SKID_STEER_OUT,1
STEER2SRV_D,0.001
STEER2SRV_I,0.005
STEER2SRV_IMAX,1500
STEER2SRV_MINSPD,0.5
STEER2SRV_P,0.002
STEER2SRV_TCONST,0.75
THR_SLEWRATE,50
THR_MAX,70
TURN_MAX_G,0.5
NAVL1_DAMPING,0.75
NAVL1_PERIOD,10
PIVOT_TURN_ANGLE,30
it’s just working ish. it is difficult to adjust the heading smoothly with the transmitter and the heading drifts when driving. if i increase I i get a lot of weaving and if i increase P, the rover turns violently sometimes in big jerks.
I have not tested rover without skid steer so far.
Is there a way of setting STEER2SRV_P on a skid steer rover like there is on a normal turn rover?
What is TURN_MAX_G actually?
how does STEER2SRV_MINSPD work on a skid steering rover?