Steve Goode and I are building up a hardware-minimal robotic lawn mower. Sort of an attempt to recapture the Lawn-Mower-On-A-String of yor, with no string.
This is a dumping ground for development information, not a tutorial. Use at your own risk.
1. Current Videos
2. Current Issues
3. Initial Setup
4. configuration files
5. NO RC Arm
6. Mower original information
7. PIXHAWK user manual
8. Log files to user group
9. Ardusimple RTK, Pointperfect
1. Current Videos
Mower misses bout 1 of every 3 passes
“Hardware Minimal” because it uses a 21inch push mower, stock front wheel drive, single steerable tailwheel.
We are using Pixhawk 4 as the autopilot:
2. Current Issues
No Data Link–No data link. We use USB currently to connect MISSION PLANNER to PIXHAWK running ARDUROVER. This gives us configuration, start/stop, mode, and telemetery.here are the Old Notes-ESP8266 config for Mission Planner. I never could master this, so we bought a preconfigures 8266 from mRobotics. Perfect.
2. Cannot arm the no Rc. – solved, mostly – see note 2 at bottom
3. robot always drives away from desired course – solved, reversed servo channel 1
4. robot shows armed, but always circles left – solved, servo arm broken.
5. robot weaves back and fort across desired track – FF tuning, – solved, L1NAV tuning.
6.
No data link. We use USB currently to connect MISSION PLANNER to PIXHAWK running ARDUROVER. This gives us configuration, start/stop, mode, and telemetery.
here are the Old Notes-ESP8266 config for Mission Planner. I never could master this, so we bought a preconfigures 8255 from mRobotics. Perfect.
7. mower cannot “panic stop” – add relay to ignition shutoff
8. mower does not turn aggressively toward the desired track, slight swerve. – CURRENT TROUBLESHOOTING:
A. here is the check for max turn rate On Mission Planner’s Flight Data screen, check the “Tuning” checkbox (bottom middle), double click on the graph and select “gz” (Gyro Z-axis)
Drive the vehicle in Manual mode at a medium speed making very sharp turns
Set ACRO_TURN_RATE to a bit lower than the highest values seen. Note the value shown may be in centi-degrees/sec so its value should be divided by 100 to match the parameter’s deg/sec
b. https://ardupilot.org/rover/docs/rover-tuning-steering-rate.html
c. this puts the GCS TUNING permeters to PID on tuning screen
Set the GCS_PID_MASK to 1 (Steering)
d. on TUNING, select PID DESIRED, PID ACHIEVED.
E.
another summary of tuning in nav https://github.com/ArduPilot/ardupilot/issues/6565
Tuning turn rate
https://ardupilot.org/rover/docs/rover-tuning-steering-rate.html
__________________________________________________________
5 part intro to pixhawk_APM setup
PM07 INITIAL SETUP
ana volt and curr
Holybro pixh 4 pm
Cube or pixhawk
Volt devider calc 18.182
Curr
Amps per volt 36.364
Note 2 – Arm with no rc –
This Arm with no RC turned out to be such a pain that we installed a RC reciver and used that for manual steering. Much easier
RC receiver in use FS-X6B
20160924022953FS-X6B Receiver User Manual
Old parmeter list
Params1OLD
another old peram file
Params1OLD
Grass Sensor PC board:
Pin 1. Sensor 1 LED signal from ESP
Pin 2. DATA
Pin 3 DATA
Pin 4 POWER
Pin 5. GND
Pin 6.
Pin 7.
Pin 8. Reserved sensor 2.
Pin 9. SENSOR1 Signal to arduino, GND = no grass.
Wiskers PCB

MS Plug sample mumbers
Ms3126e12-10s
Ms3114e12-10p
Ms3126e14-s
Ms3114e14p
Spring 2022, spiral path via LUA script
Try native spiral in MP
In 1.3.74
(after you’ve got a polygon) – AutoWaypoints – Survey(grid) – Check “Advanced Options” in the display menu – Grid Options tab – Spiral.
Edit: Here’s a screen shot to make sure we’re talking about the same thing.
========================
Mower steering loads will blow up a servo if the wheel resists the servo command:
Alternative servo for the future:
Wingzine Servo boards
https://deepsouthrobotics.com/2019/08/23/anatomy-of-a-huge-self-driving-mower/
Notes on tuning configuration:
Acro turn rate, to the right 16s per 360, 22.5 deg/s
Navl1_damp. .85 try .75 again
Navl1_period. 15
Navl1_xtrack_i. .03
Steer P. 1. Try 0
Steer I. .4. Try 0
Steer p. 0
Imax. 1
FF. 2.2. .6 was way too low
Turn radius. .2
Config, 45 to 25.
Ff from .7 to 2.0. Improved turns. 2.5 is a little nervous. 2.2 best
Tires slip, belt slips
More on throttle tune
https://ardupilot.org/plane/docs/reverse-thrust-setup.html
https://www.instructables.com/Retreading-Your-Lawn-Mower-Tires/
6. Original mower information
The drive transmission conked out halfway through development. Quick to overhaul.
8. Log files to user group
TLDR: Noobe needs assistance tuning parameters on robot mower. Logs attached
All.
Thanks in advance for the help. We are building up a “hardware minimal” robot lawn mower. 21 inch self propel with a single steerable tail wheel. Stock front drive wheels, with rear wheels removed. Tailwheel steering via a less than perfect linkage to a heavy hobby servo. The platform has exceeded my expectations, but I am stumped on the final tuning. I would like smoother straight line steering.
Electronics are Pixhawk4, MP, stock PIXHAWK hockey puck GPS. HDG 1 and 2 set turned off, because it looks terrible on screen. Wild 45 degree HDG changes, even though the hockey puck is on a 30 inch mast.
It tracks a while with small, 6 inch deviations. Then occasionally takes a 20 degree steering lurch for a 30 inch deviation.
Biggest improvements have centered the PID DESIRED vs PID ACHIEVED tuning, leading to increasing FF toward 2.9. PID numbers adjustment seem to be useless
9. Ardusimple RTK, Pointperfect
RTK Improvement: https://mowerproject.com/category/rtk-gps/
tl;dr try Obviously we appear to be looking at a mask of 13-15 degrees elevation. 40 S/N
Thingstream domain
FairviewRover:
Password : FairviewRover#1
https://portal.thingstream.io/app/location-services
try this for a log in string FairviewRover:FairviewRover#1@pp.services.u-blox.com:8883
Arduino budget hookup
Pc setup
ARDUSIMPLE connection
We will go into UART AND 12C B port. That requires a Hirose DF13 connector 6 pin plug to a 6 pin JHST on the ardusimple end. ArduSimple produces a 6 inch cable
spring 2023
the 8266 was moved from STA to CLIENT.
Hard ip set to 192.168.1.100
subnet 255.255.255.0
here is the screen capture of the setup:
by this tutorial:
===============================================
Changing the Wifi SSID and Password¶
- connect from your PC to the wifi access point (initial access point ID is “ArduPilot”, and password is “ardupilot”)
- open a browser to 192.168.4.1 and a simple web interface will appear like below
- click on the “Setup” link
- set the “AP SSID” and “AP Password” fields (both must between 8 and 16 characters), push the “Save” button and reboot the device
Thanks to Ray’s blog which was the source for some of this page’s advice
++++++++++++++++++++++End tutorial+++++++++++++++++
Here is the details to set up:
Thingstream>StarlinkRouter>HeffLink wifi>>>>>ESP8266>TelemPort1>UDP,57600>Pixhawk4>Ardupilot>NTRIP> ____user:pass@host:port/mountpoint______>Telem2 Port>ArduSimple F9P
NTrip string is now: FairviewRover:FairviewRover#1@pp.services.u-blox.com:8883/51705a15-somedigits-0eb011b4e410
This is the connection to Thingstream
We need to turn off the original GPS module.
F9P FW VER 1.13
On a pixhawk 2.4.8 connected to telemetry port 2, the parameter SERIAL2_PROTOCOL must be set to “2”
Did you try the FTDI drivers?
https://www.ftdichip.com/Drivers/VCP.htm
serial port with power
Hi power64,
Let’s see if we can help you implement what you have in mind. Some clarification:
– The Pixhaek JST-GH connector is following the Pixhawk standard:
* 1: 5V_IN (So you can find it 100% sure, pin 1 is the one connected to C9 on the PCB).
* 2: ZED-F9P UART1 RX (3.3V level)
* 3: ZED-F9P UART1 TX (3.3V level)
* 4,5: Not connected
* 6: GND
– As mentioned above it’s connected to UART1 of ZED-F9P. So you can use it at the same time as the XBEE.
– 5V Input, this connector doesn’t have 5V Output.
– 3.3V RX/TX. RX/TX are not 5V tolerant.
Lipo BMS








