Since the mower does not use an ESC or wheel encoders, it’s important to precisely tune the transaxle drive servo PWM values to achieve straight line tracking at max forward, max reverse, and part throttle.
I used an ESP32 to make my own web-enabled tachometer as well as Mission Planner’s Python script capabilities.
Web Tachometer on GitHub:
https://github.com/yuri-rage/WebTachometer
Servo Tuner Mission Planner Script:
https://github.com/yuri-rage/ArduRover_Mower/blob/master/servo_tuner.py
Find me on the ArduPilot Discuss Forums:
https://discuss.ardupilot.org/
source