I’ll have a look, but I make no promises. Tuning the position controller has proven quite tricky (and is actually holding up the stable release of Rover 4.3).
I look forward to @rmackay9’s analysis if he has a bit of time to provide it.
P is oscillating quite a bit while the I term is not saturating, and the D term is contributing very little (despite the noise), so I think reducing P is the ticket here. Maybe reduce PSC_VEL_P from 1 to 0.5 and see how that goes?
The rate tuning is somewhat well behaved, though there is quite a bit of noise in the speed controller. Reducing ATC_SPEED_P and I may help a bit with that.
Thank you for that Yuri. Do you perhaps have a link to detailed documentation explaining the tuning of the position controller for Rover 4.3? I really need to get my head around this.
Have a look at this section of the log where the throttle is almost shut right down for absolutely no reason at all. This throttle issue has been a hurdle from day one with Rover 4.3.
We have major progress, the documentation on setting up Rover 4.3 works as advertised and is very exciting for large rover owners.
LOG - Dropbox - 00000013.BIN - Simplify your life
I followed the Rover 4.3 instructions here and it works perfectly for a simple East, South, West, North mission with 90 degree corners. Once I get the throttle sorted out I will do a typical shoreline contour mission and see how that goes. -
Adjust these parameters to improve the vehicle’s tracking along the lines
increase PSC_VEL_P until the vehicle tracks the corners nicely without oscillating in the straights
increase PSC_VEL_D enough to make the corners more responsive but without introducing oscillations in the straights. This should normally be not more than 10% of PSC_VEL_P
The only part I’m still having difficulty with is the throttle control as the craft is over throttling as it comes out of a turn where the desired speed looks right, but the achieved speed is overshooting.
Factors affecting the path include:
The vehicle will cut the corners but will always try to pass within WP_RADIUS or TURN_RADIUS (whichever is larger) of each waypoint
The vehicle will cut the corners more at higher speeds
The vehicle will cut the corners more if the maximum accelerations are reduced (e.g. the lowest of ATC_ACCEL_MAX, ATC_DECEL_MAX and TURN_MAX_G * 9.81)
The vehicle will slow down in the corners if necessary to pass within WP_RADIUS of the waypoint without exceeding the maximum accelerations (e.g. the lowest of ATC_ACCEL_MAX, ATC_DECEL_MAX and TURN_MAX_G * 9.81)