September 16, 2017

System Performance

System Performance: Spring Validation Experiment

User Interface and Static Obstacle Avoidance

This test demonstrated GroundsBot’s ability to receive a mowing region from a new user, make a coverage plan, avoid static obstacles, and return to home. Five obstacles were set up before the test, and these obstacles were marked on the UI to ensure the new user drew a boundary encompassing the obstacles for performance evaluation. Upon receiving mowing approval from the user, GroundsBot was tasked with navigating the mowing plan while avoiding obstacles. At each obstacle, GroundsBot needed to drive around the obstacle with less than three feet of clearance. During the test, the mean distance from the obstacle was 2.3 feet.

During SVE encore the mowing region was entered by the superintendent from Valley Brook Country Club. His first time using the system resulted in a successful deployment of the robot for Test 1, validating the ability of GroundsBot to work for first time users.


The coverage test demonstrated GroundsBot’s ability to mow a lawn with reasonable coverage. The test was performed at a residential lawn prior to the date of the Spring Validation Experiment. GroundsBot mowed 0.1 acres of grass, slightly below the test specification, due to wet conditions. The total mowing time was 27 minutes. The system covered 97% of the grass based on internal position tracking. A 10’ x 10’ measurement sample measured in at 98.6% coverage.
Dropping the mowing deck to allow close mowing of the grass significantly changed the vehicle dynamics, resulting in a wavy coverage pattern. The ideal mowing pattern is a straight line, but it should be noted that this wavy pattern still accomplished the coverage requirement without violating any other system requirements.

Dynamic Obstacle Avoidance

The dynamic obstacle avoidance test demonstrated the GroundsBot’s ability to identify and avoid obstacles that get too close. The test involved rolling a ball several times in front of GroundsBot. The test was successful if GroundsBot stopped until the obstacle was no longer in the forward path of travel. The ball used was a beach ball, which met the minimum obstacle specification of 24 inches in height. Across several tests, GroundsBot managed to stop for 22 out of 25 balls rolled. The three balls missed can be attributed to the balls being rolled at a speed greater than the 4 mph limit as specified by the requirements.

Handling on difficult terrain

The hill climbing test demonstrated GroundsBot’s ability to traverse steep slopes. The specification was to have GroundsBot drive up and down a 30 degree slope. GroundsBot easily traversed the slope several times.

SVE Conclusions

The platform has proven to be robust through countless hours of field testing and vibrations. The software stack is also a significant strength for GroundsBot. Several custom ROS nodes have been developed for localization, navigation, and planning. These nodes were catered to the needs of a robotic mowing platform, greatly improving on the base packages available in ROS. Our UI is also an interesting component of GroundsBot, featuring full integration of an online interface at with a ROS node for planning coverage and displaying real-time position information.

One critical weakness is the motor controls system. We relied on our motor driver to provide a PID loop for ensuring wheel velocities were followed precisely. The RoboClaw motor driver ran at a frequency too high for our encoders, resulting in noise injection into the motors when PID parameters were tuned too high. This prevented a proper integral term from being applied, reducing the ability of the wheels to accurately track specified wheel velocities. This wreaked havoc with the local planners we attempted to use, especially when transitioning to higher friction grassy environments. Future work would include implementation of a control loop on the Arduino board of GroundsBot for wheel velocities.

System Performance: Fall Validation Experiment

Mowing Platform

The mowing platform was tested for stopping time during the fall validation experiment. The stopping time after pulling the tether or triggering the remote e-stop was well within the required two seconds.

Perception and Mapping

Testing the fairway vs. rough algorithm at Bob O’Connor golf course resulted in a classification accuracy of 91.8%. This meets our fall validation experiment threshold of 90%.


With thirty point samples during way-point navigation we measured a localization accuracy of 6″ error on average with a standard deviation of 4″. This is well within our performance requirement of two feet.

FVE Conclusions


  • The platform operates consistently without need for constant repair.
  • We are able to navigate within two feet consistently.
  • There are now several layers of safety providing protection from mowing accidents


  • We can’t navigate to way-points within one meter of each other.
  • Way-points drift over time because we have not fixed the GPS RTK beacon.
  • Our motor power ring terminals wear and snap over time.