Turf Upkeep and Robotic Fieldcare (TURF) was my senior design project for my graduating semester. The goal was to create an Ultra WideBand based robot prototype that can autonomously mow lawns.
TURF was designed to fill a gap in the robot mower market where there are no low-cost systems. Autonomous lawn mowers usually utilize LiDAR or Vision based systems which are costly. The obvious alternative is to use GNSS, but satellite-based navigation cannot provide the precession needed for mowing neat lines.
As a prototype, TURF is not a final product and is not in a deployable state. However, it satisfied all requirements for senior design and resulted in a unique robotic platform.
Ultra WideBand is a Bluetooth technology that allows us to send a packet between two devices and measure the round-trip time. We can do a bit of math to figure out the distance between the two devices with a precision of about 10cm.
TURF takes advantage of this by using three fixed “anchor” devices as references to the moving mower. We can compute the distance from each anchor to the robot and perform trilateration to figure out where the robot is.
The Virtual Demo Video of our robot is below. At the time the video was exported, we did not realize that some slides did not play completely. While the audio cuts off, all relevant information is still available visually. Our system was assessed in-person by the reviewers and the video is supplementary.
In my senior design group, I handled the mainboard design and hardware selection, and firmware for the robot. My group members handled the design of our motor driver board, and a mobile app for configuring the variables used by the robot firmware. Renders and schematics of the PCBs I designed can be found below.
My group’s GitHub repository is located here (click to follow link).
This is the main system board. It contains an ESP-32 WROVER module, and a DecaWave DWM1000 UWB module. The board includes headers for connecting to the robot’s motors, power supplies, and an ultrasonic range finder allowing the robot to halt If an object is in its path. This board is used on the robot itself, as well as for the anchors. While on a large scale, costs could potentially be reduced by using a more basic MCU, given the time constraint of one semester, and the need for only a single protype, I chose to use the same design for the anchors and robot.
(Click Schematic to Enlarge)
This is just a basic switching power supply that steps down our battery voltage to a suitable 3.3V for the board.

