Assessment of the Cutting Performance of a Robot Mower Using Custom Built Software

: Before the introduction of positioning technologies in agriculture practices such as global navigation satellite systems (GNSS), data collection and management were time-consuming and labor-intensive tasks. Today, due to the introduction of advanced technologies, precise information on the performance of agricultural machines, and smaller autonomous vehicles such as robot mowers, can be collected in a relatively short time. The aim of this work was to track the performance of a robot mower in various turfgrass areas of an equal number of square meters but with four di ﬀ erent shapes by using real-time kinematic (RTK)-GNSS devices, and to easily extract data by a custom built software capable of calculating the distance travelled by the robot mower, the forward speed, the cutting area, and the number of intersections of the trajectories. These data were then analyzed in order to provide useful functioning information for manufacturers, entrepreneurs, and practitioners. The path planning of the robot mower was random and the turfgrass area for each of the four shapes was 135 m 2 without obstacles. The distance travelled by the robot mower, the mean forward speed, and the intersections of the trajectories were a ﬀ ected by the interaction between the time of cutting and the shape of the turfgrass. For all the di ﬀ erent shapes, the whole turfgrass area was completely cut after two hours of mowing. The cutting e ﬃ ciency decreased by increasing the time, as a consequence of the increase in overlaps. After 75 minutes of cutting, the e ﬃ ciency was about 35% in all the turfgrass areas shapes, thus indicating a high level of overlapping. and editing, L.M., M.F. and S.P.; visualization, M.F., L.M., S.P., C.F., L.C., M.G., N.G., S.M., M.R., A.P., M.V. and M.P.; supervision, M.F., A.P., M.R., M.V.; project administration, A.P. and M.V.


Introduction
Before the introduction of positioning technologies, data collection and management in agriculture was time-consuming and labor-intensive, however technologies today enable more precision field data to be acquired [1]. Global navigation satellite systems (GNSS) devices are used to monitor agricultural operations and to acquire field data [2,3]. Such data then need to be stored, processed, analyzed, and interpreted using software. Results of the data analysis can be used by manufacturers, entrepreneurs, and practitioners to facilitate their decision-making, reduce costs, and improve the quality of the product [4]. The real-time kinematic (RTK) tool is widely used in high-precision positioning and navigation applications, and can also be used in automated driving use cases [5].
Trajectory tracking systems were studied for planning the path that an autonomous robot has to follow within the field for conducting a specific operation [6][7][8][9]. Mohamed et al. [6] generated an optimal free-obstacle path of a robotic vehicle that moved from a starting point to the goal location. Kassaeiyan et al. [9] applied their developed trajectory tracking systems to a real-world experimental implementation. Indeed, the most important problem among the trajectory tracking is the applicability in real-world applications [9].
The RTK-GNSS devices are used to record vehicle movements [10][11][12][13]. For under open sky road driving, the RTK solution generated accurate and precise vehicle movement trajectories sufficient for extracting vehicle lane position, speed, acceleration, and deceleration [10]. Huang et al. [11] equipped an autonomous robot with a GNSS antenna and receiver in order to control the position of the robot with respect to the target path. El-Mowafy and Kubo [12] integrated RTK-GNSS, doppler-based positioning, and positioning using a low-cost inertial measurement unit (IMU) with a car speedometer to achieve continuous positioning of an autonomous vehicle. Sun et al. [13] used the RTK-GNSS to pursue precise vehicle movement trajectory in an urban residential area of Australia.
Different methods than RTK-GNSS for path tracking are used preferably in GNSS-denied environments because these methods had a lower accuracy (e.g., IMU), are more costly and of hard installation (e.g., LiDAR odometry), and of difficult calibration (camera based systems) [14][15][16][17].
Coverage path planning involves determining a path that passes over all points of an area of interest while avoiding obstacles [18]. This task is integral to robotic mowers [19]. The majority of current commercial robot mowers move randomly by travelling along straight lines and making turns at the perimeter (boundary wire) of the cutting area or any other obstacle [20,21]. The main advantage of random path planning is that no complex sensors for localization or expensive computational resources are needed [18].
Path planning and trajectory tracking control for robot mowers based on RTK-GPS were studied in order to plan a pre-planned linear path that the robot has to follow [22]. High technology and highly expensive robot mowers, such as the L400 Elite model manufactured by Zucchetti Centro Sistemi Spa (Arezzo, Italy), are equipped with a differential global position system (D-GPS) guidance system that enables the cutting path to be pre-planned [23]. The use of this technology reduces the operating costs (energy and time) [9]. However, GPS devices may function inaccurately due to the interference of buildings and tree canopies in residential turf areas [14,24]. The objective of path planning for mobile robots is to find an optimal collision-free path from a starting point to a target point [25], however the high-cost of the technology used for these systems make the real and systematic application in the field difficult. Moreover, the signals of GNSS devices are blocked frequently in challenging environments, and the discontinuous carrier phases seriously affect the application of GNSS precise positioning reducing the adoption of these systems [26]. Robot mowers that move randomly are indeed nowadays largely used.
To the best of our knowledge there has been no research studying the random trajectories followed by commercial robot mowers, with the aim to improve the cutting efficiency of a robot that moves randomly whose sales are currently increasing. The objective of this work was to track the performance of a robot mower in different shapes of turfgrass areas using real-time kinematic (RTK)-GNSS devices, and to easily extract useful data using a custom built software capable of calculating the distance travelled by the robot mower, the forward speed, the cutting area, and the number of intersections of the trajectories. For each of these variables, the used datasets included data extracted from the software every 15 min for a total time of two hours, in order to have nine time points for four replicates of the experiment in each turfgrass area shape. These data were then analyzed in order to provide useful information for manufacturers, entrepreneurs, and practitioners.

The Robot Mower Tracking Data System
A system to track the performance of a robot mower within a turfgrass delimited by the boundary wire was designed and built at the request of the University of Pisa. The system was composed of a remote sensing system for the acquisition of positioning and time data, along with custom-built software to calculate, display, and extract these data. The system tracks the trajectories of the robot mower and calculates the percentage of cut turfgrass area as a function of time, together with other operative data relative to the performance of the robot mower.
2.1.1. The Remote Sensing System to Acquire Data The remote sensing system was constituted by two Emlid Reach RTK devices [27] mounted in custom-built cases, one used as a base station and the other as a rover. The Reach RTK is a very small device, equipped with a real-time kinematic-global navigation satellite system (RTK-GNSS) receiver (ublox NEO-M8T series) [28] and an Intel ® Edison module [29]. The Reach RTK is only a few millimeters larger than the Intel Edison module that it contains. The Intel®Edison module components are an Intel Atom dual core 500 MHz Processor (with a serial port, a port with bus I2C, an in-circuit programming port, and connectivity for a SD card); 1 GB of memory DDR3 low power; 4 GB of memory EMMC; a USB 2.0 (both device and host); a Wi-Fi and Bluetooth Low Energy 4.0 module; and an on-chip integrated antenna.
Due to a custom Linux distribution, the Reach RTK device enables the RTK algorithm to be converged, and to manage the Wi-Fi and Bluetooth connections. The device has dual DF13 connectors and comes with all the required cables to connect to other devices. The antenna connector is MCX. The Reach RTK can both receive power from a USB, acting as a device, and a source power to the port, acting as a host [27]. The Reach RTK runs open-source RTK processing software called RTKLIB written by Takasu [30]. Previously a computer was required to run RTKLIB, but now all RTKLIB features are available directly on the Reach RTK device.
The case containing the rover was mounted on the robot mower and the case containing the base station was installed on the edge of the turfgrass (Figure 1). The inner components of the cases were reported in Figure 2. The rover was fed by a lithium battery (power bank 9000 mAh) with 24 h of battery life. The base station was fed by a USB cable, and a buffer battery was also mounted (power bank 6000 mAh with five hours of battery life). The RTK algorithm precisely calculated the distance between the base and the rover. This distance was called the "baseline". The rover position was precisely determined relative to the base station position (±7 mm on the horizontal plane). For this purpose the two Emlid Reach RTK devices [27] were used. They received signals from the GNSS and estimated their distance using the RTK algorithm implementation. The recorded data were downloaded from the Emlid Reach RTK devices [27]. Then the RTKLIB software framework was used to extract the final rover coordinates with the relative accuracy. The rover coordinates offset from the real location depended on the position accuracy of the base. The base station measured errors, and stationary it transmitted corrections to the rover. The rover and the base station communicated through a wireless network created by a common access point (NGB-418N v2, Zyxel) [31].
Both devices were managed by the web interface ReachView [32], which allows settings, analysis parameters, and the downloading of positioning and time data acquired. Data were recorded from the rover and the base, and were processed afterwards. RTKLIB version 2.4.3 was used to process data. The off-line processing of data enabled a position file (a formatted text file, .pos) to be created, which reported the relative positions (east, north, and up (ENU) components) between the rover and the base station (baseline), which represented the trajectories travelled by the robot mower in the turfgrass area.

New Software to Calculate, Display, and Extract Useful Data
New software, called "Robot mower tracking data calculator", was designed and built by the Qprel®srl (Pistoia, Italy) [33] at the request of the University of Pisa, in order to extract data on the functioning of the robot mower. The function of the software was to allow an operator to easily get access to the operating data of the robot mower, and was developed mainly to calculate the area covered by the random trajectory of the robot mower with the passing of time.
The calculation algorithm designs the trajectories using the RTK coordinates recorded and the width of cut of the robot mower (which changes with the type of robot mower used), and from this design the percentage of coverage is calculated, corresponding to the cut area. The software simply colors by green the cut area following the robot trajectories and then calculates the ratio between the green area and the entire cutting area. The calculation algorithm and the graphics of the new software were developed using Visual Studio 2015 [34].
In addition to the cut area, the "Robot mower tracking data calculator" software processes the position file obtained with the RTKLIB software, and calculates every 5 s the mean forward speed of the robot mower, the intersections of the trajectories, the distance travelled, and the percentage area of the turfgrass cut. The software also shows other processed data such as the number of points recorded, total cutting time, and break and working time on the total cutting time.
The main window of the software on the left shows the buttons to calculate the required tasks, and on the right, the list of names next to which are displayed the calculation results ( Figure 2). By clicking on "Open file" the operator can select and upload the position file (.pos) obtained with the RTKLIB software. By clicking on "Create overall report", two or more position files can be pooled together.
Once the position file had been opened, a preliminary data processing consisted in the selection of the position file points that were classified as being of acceptable quality. The software then excluded all points with a variance higher than 0.05 m on the reconstruction of the ENU coordinates, then the resulted accuracy was ± 0.05 m. Finally, the software only accepted the trajectories that travelled with a forward speed higher than 0.005 m s −1 and lower than 1.7 m s −1 . After the preliminary phase, the software shows the coordinates of the robot mower on a scaled two-dimensional map (Figure 3). From the screen an operator can then select the area of interest on the map by manually designing a perimeter along the external coordinates of the robot mower (external red triangles in Figure 3). Once the area of interest has been selected, by setting the time and the length of the robot mower cut, and clicking on "Show cut", the turfgrass cut area by the robot mower at a desired time is graphically shown on the screen ( Figure 4). By clicking on "Hide cut", the cut area is hidden. By clicking on "Calculate cover", the percentage of cut is reported on the screen. At the same time the distance travelled by the robot is also shown ( Figure 4). By clicking on "Calculate intersections" and "Calculated speed", the number intersections of the robot mower trajectories and the mean forward speed were displayed ( Figure 4).   The robot mower used was a Husqvarna Automower ® 330X updated to 430X [35]. It moves randomly by travelling along straight lines and turned when it intercepts the boundary wire [36]. The robot was left to cut in different turfgrass area shapes: A square (side = 11.62 m), a rectangle (short side = 4.80 m, long side = 28.10 m), a right-angled triangle (base = 28.00 m, height = 9.65 m), and a circle (radius = 6.56 m; Figure 5). These four shapes were obtained by manually positioning the boundary wire. The total area of each shape was 135 m 2 , which corresponded to the area capacity per hour stated in the manufacturer's manual [36]. The areas were devoid of internal obstacles. The robot mower cut continuously for two hours, without stopping to recharge the battery. The base station was left in the same position throughout the experiment. The cut was replicated four times for each shape, with a total of 16 cuts.

Data Collection
The distance travelled by the robot, the mean forward speed, the intersections of the robot mower trajectories, and the turfgrass cut area percentage data were extracted from the software. The mean forward speed was extracted two hours after cutting. For the other variables, the data were extracted from the software every 15 min for a total time of two hours, in order to have nine time points for four replicates of the experiment in each turfgrass area shape. Other important data, such as the number of turnings and turning time, were taken manually because the software is not able to extract them. The number of turnings was counted 12 times (replicates) for 10 min in each area shape, and then was reported as the number of turnings in 120 min. The turning time was measured with a stopwatch 40 times for each shape. The efficiency of the robot mower was calculated by dividing the real cut area in 135 m 2 by the potential cut area that the robot would cut if it went straight without turnings. The efficiency thus calculated gave an idea of the cut overlapping within the 135 m 2 turfgrass area. The efficiency was computed every 15 min.

Statistical Analysis
Data normality was established using the Shapiro-Wilk test. Other tests consisted of Student's t-test to verify that the mean of the errors was not significantly different from zero, the Breusch-Pagan for homoscedasticity, and the Durbin-Watson test for serial correlation.
The distance travelled by the robot and the robot mower efficiency data were modeled in a linear mixed model in R software [37], using the extension package 'lmerTest' (tests in linear mixed effects models) [38]. The number of intersections of the robot mower trajectories was modeled in a generalized linear mixed model in R software, using the extension package 'lme4' (fitting linear mixed-effects models using lme4) [39] and setting the Poisson distribution. The model conducted a log transformation. For these models a combined variable/factor was constructed from the time and shape of the turfgrass area factors, which was the fixed factor. The random factor was the interaction between the shape of the turfgrass area and the replicates.
The mean forward speed at 120 min from the start of the cutting and the turning time were modeled in a linear mixed model in R software using the extension package 'lmerTest'. The number of turnings in 120 min of cutting data was modeled in a generalized linear mixed model in R software, using the extension package 'lme4' and setting the Poisson distribution. The model conducted a log transformation. For these models the fixed factor was the shape of the turfgrass area, and the random factor was the replicates.
An analysis of variance was run for each model. The extension package 'ggplot2' (elegant graphics for data analysis) [40] was used to plot graphs.
The turfgrass cut area was modeled in a two-stage meta-analysis dose-response model using the extension package 'medrc' [41]. The meta-analysis strategy is a simple and robust method to summarize effective times of cutting estimates [42]. Time was the independent variable. The interaction between the shape of the turfgrass area and the replicates was the factor identifying individual curves. The shape of the turfgrass area was the factor containing the between-curve grouping of the data. The non-linear function was a two-parameter asymptotic regression: The parameter d is the upper limit (for x going to infinity) and the parameter e > 0 determines the steepness of the increase as x [43]. A simpler model was used to show trends graphically using the 'drc' package because the extension package 'medrc' was under development and did not draw the graph at the moment [44].

Distance Travelled by the Robot, Number of Turnings, Turning Time, and Mean Forward Speed
The distance travelled by the robot mower was affected by the interaction between the time and the shape of the turfgrass area (p-value < 0.001). Means and 95% confidence intervals are reported in Figure 6. The distance travelled in all the different shaped areas was significantly similar for one hour. At 75 min from the start of the cutting, the distance travelled in the triangle and square shapes was higher than in the circle. Between 90 min to 120 min after the start of the cutting, the distance travelled in the triangle and square was higher than both the circle and rectangle.

Intersections of the Robot Mower Trajectories
The number of intersections of the robot mower trajectories was affected by the interaction between the time and the shape of the turfgrass area (p-value ≤ 0.001). Inverse transformed means and 95% confidence intervals are reported in Figure 7. The intersections of the trajectories in the rectangle, which 15 min after the start of the cutting were statistically significantly higher than in the other shapes, between 75 min to 120 min after the start of the cutting were statistically significantly lower than in the other shapes. After 105 min from the start of the cutting, the intersections were statistically significantly higher in the square than in the other shapes. In the triangle and circle, the number of intersections was similar for most of the cutting time.

Area of the Turfgrass Cut
The lack-of-fit test (p-value = 0.988) indicated that the asymptotic regression model was comparable to a more general ANOVA model using an approximate F test. The parameters of the non-linear asymptotic regressions (Equation (1)) and effective cutting times estimated from the two-stage meta-analysis dose-response model are reported in Table 1. The data trend is shown in Figure 8. In the rectangle 10%, 50%, 85%, and 90% of the area cut was reached slower than in the triangle and circle (p-values = 0.02 and 0.03, respectively), and in a similar time as the square (p-value = 0.12). In the triangle, circle, and square, 10%, 50%, 85%, and 90% of the cut area was reached in a significantly similar time (p-values = 0.32, 0.60, and 0.61, respectively). After two hours of cutting, there were no statistically differences between the percentage turfgrass area cut in the different shapes (Table 1, d parameter). This suggests that after 120 min of cutting, the shape of the turfgrass did not affect the percentage cut. Table 1. Parameters of the non-linear asymptotic regressions (Equation (1)) and effective times of cut estimated from the two-stage meta-analysis dose-response model (Figure 8 is a simplified graphical representation because the package 'medrc' does not draw the graph at the moment).

Shape
Effective  Fitted asymptotic regression curves with averages points of the cut area as a function of the time (min) and the shape of the turfgrass area. This graph is the result of a simplified model (which follows a non-linear two-parameter asymptotic regression but not the two-stage meta-analysis dose-response model), because the package 'medrc' of R [41] used for the analysis was not yet programmed to graph plots.

Robot Mower Efficiency
The efficiency of the robot mower was affected by the interaction between the time and the shape of the turfgrass area (p-value < 0.001). Means and 95% confidence intervals are reported in Figure 9. After 15 min of cutting the efficiency of the robot mower in the triangle and circle was statistically similar, and significantly higher than in the square and rectangle. For this lapse of time, the robot mower showed the lowest efficiency in the rectangular shape. After 30 min of cutting, the robot mower efficiency was significantly different in all the shapes, with the highest value was found for the triangle (65% ± 1%), followed by the circle (62% ± 1%), square (58% ± 1%), and rectangle (55% ± 1%). After 45 min, the robot mower efficiency in the triangle and circle was again statistically similar. After this time, the efficiency in the square and rectangle was significantly similar, and lower than in the triangle and circle. After an hour of cutting, the efficiency in the triangle was higher than in the rectangle, but similar to the other shapes. On the other hand, the efficiency in the square, circle, and rectangle was significantly similar. After 75 min of cutting, the robot mower efficiency was significantly similar in all the shapes, which was maintained until two hours of cutting.

Discussion and Conclusions
The software extracted data on the distance travelled by the robot mower, the intersections of the trajectories, the mean forward speed, the differently shaped cut areas of turfgrass, and the derived efficiency data. These data, without the use of a remote system and the software to acquire, calculate, and extract data, would have been very difficult to collect manually.
Data processing led to interesting information on the functioning of the robot mower in the four turfgrass shapes. The distance travelled by the robot mower after two hours of cutting was highest in the triangle and square. This was due to the greater number of turnings in the rectangle and the longer turning time for the circle, which led to a significantly similar mean forward speed. The highest number of turnings in the rectangle was probably due to the shorter side of this shape (4.8 m), which increased the probability that the robot encountered the boundary wire compared with the other shapes. The highest turning time in the circle was probably due to the geometry of the boundary wire, which not being a straight line, forced the robot mower to execute a higher degree of turning, which increased the turning time. In fact, the degree of turning of robot mowers is random and is different depending on the boundary wire geometry [45]. In the triangle and square area, the number of turnings, the turning time, and the mean forward speed were similar.
The intersections of the robot mower trajectories were related to the distance travelled and probably to where the turning occurred on the boundary of the shape. It was possible that in the rectangle the narrow and long shape enabled trajectories to be designed that from 0 min to 15 min of cutting had more crossing lines compared with other shapes, and from 75 min to 120 min had fewer crossing lines. In the square, the position of the turnings led to the highest number of crossed lines from 105 min to 120 min of cutting. The positions of the turnings in the circle and triangle shapes probably led to a similar number of crossed lines.
In the rectangle, the robot mower was slower to reach the same percentages of cut areas as in the other shapes. In the triangle, square, and circle, 85% of the cut area was reached after about an hour of cutting, whereas in the rectangle, this percentage was reached a few minutes later. In any case, in all of the shapes, an average of 98% of the cut areas were reached after two hours (parameter d, Table 1). This did not contradict the manufacturer's manual, which stated a range from 80% to 120% of cut area after one hour of cutting [36].
Data extracted from the software and subsequently analyzed, gave the parameters (Table 1) needed for an accurate estimation of the percentage of cut turfgrass as a function of time (Equation (1)). For example, by substituting the mean values of parameters d and e in Equation (1), the percentage of cut area after one hour of cutting was 80.2% in the rectangle, 83.8% in the square, 85.3% in the circle, and 85.7% in the triangle.
In the experimental area of 135 m 2 , an average of 98% of cut surface (parameter d, Table 1) was obtained after two hours of continuous cutting (without stopping to recharge the battery) in all the shapes. Probably, in a turfgrass area larger than 135 m 2 , an average of 135 m 2 of cut area could be obtained in a shorter time than two hours, because the overlapping would have been lower. In this experiment, after 75 min of cutting, the efficiency was about 35% in all the shapes, thus indicating a high level of overlapping. The efficiency, which represents an indicator of overlapping within the cutting area, decreased by increasing the time, which after two hours of cutting was about 25%. At this time the overlapping was maximum in all the shapes.
The effect of the shape on the efficiency was observed in the first hour of cutting, suggesting that the shape determined the number of overlaps for this period of time. From 75 min to 120 min of cutting, the efficiency was similar in all the shapes, suggesting that the random path planning tended to homogenize the overlaps as the time increased, irrespectively of the shape of the turfgrass. However, the robot mower tracking data system is currently not able to unequivocally calculate the percentage of overlaps, nor how many times the overlaps occurred in each area shape.
Ideally, a robot mower should cover the area in the most efficient way possible, saving energy and time [19]. The efficiency of the robot mower could be improved by planning a coverage path that allows the robot to follow the shortest route rather than moving at random [46]. Bosse et al. [19] tested a prototype robot mower with a working width of 2 m in a turfgrass area of 321 m 2 and found that by using spiral inward (near the perimeter) and spiral shift (in the inner area) path planning algorithms, 95% of the area was covered in 15 min. However, the working width of this prototype was about eight-fold larger than commercial robot mowers, which reduced the time needed to cover the whole turfgrass area compared with the robot mower used in this experiment, which had a working width of 0.24 m.
The integration of the robot mowers with RTK-GNSS guidance systems would facilitate a pre-planned path in order to optimally and efficiently cover the area of interest [21]. However, the inaccurate functioning of GNSS devices near buildings and tree canopies in residential areas, where turfgrasses are often located, remains a problem. A sensor fusion (ultrasonic sensor, laser rangefinder, LIDAR, GNSS, odometry, cameras, stereocam, etc.) is thus needed [14,24], which would inevitably increase the cost of robot mowers.
In conclusion, the system used for tracking the robot mower and the software for calculating and extracting information provided a simple way of obtaining useful data on the performance of a common commercial robot mower working on different turfgrass area shapes. The results of the data analysis could be used by manufacturers, entrepreneurs, and practitioners to facilitate their decision-making, reduce costs, and improve the quality of the product.
The software could be enhanced to also extract data on the number of turnings and turning time. In addition, an algorithm to estimate the percentage of overlapping could be integrated. Future research could focus on the integration of the robot mower with a guidance system based on the tracking data system developed in this paper. Data regarding the boundary of the turfgrass could be tracked and then an appropriate pre-planning path map could be created to allow the robot mower to cover the whole cut area in the least possible time. However, the problem of the majority of turfgrass areas being located in residential areas near to buildings and trees canopies, which reduces the precision of GNSSs receivers, still needs to be resolved.