Preliminary Results of the Development of a Single-Frequency GNSS RTK-Based Autonomous Driving System for a Speed Sprayer

The speed sprayer plays an important role in fruit orchards as it undertakes spraying to prevent damage by blight and harmful insects. Although farmers who use speed sprayers wear protective devices, pesticide poisoning incidents and damage can occur when pesticides penetrate the skin. In addition, skilled manpower in agriculture is decreasing due to aging populations in farming villages. To overcome these problems, we aim to develop an autonomous driving system using a single-frequency GNSS RTK for commercialization of an autonomous driving speed sprayer. Therefore, in this study, path generation and a tracking system based on the single-frequency GNSS RTK are developed and the preliminary results of tests of this system are analyzed. The field test of the developed system showed positional accuracy of 0.01m.


Introduction
Currently, Korean agriculture is experiencing a number of difficulties, such as an aging and decreasing population, decreasing self-sufficiency grain rates, and stagnation of farm household incomes.For example, the total Korean farm population declined by 16.1% from 2010 to 2015 and 38.4% of Korean farmers as of 2015 were over 65 years of age, three times the average rate of the Korean population, which is also aging [1].Skilled manpower in agriculture is decreasing owing to the labor force moving away from agriculture and due to the increases in aging populations in farming villages.In addition, the rate of agricultural income declined from 67.5% in 1985 to 33.4% in 2015, as farm operating expenses have rapidly increased relative to the total incomes of farmers [2].To resolve these issues, the automation of agricultural machinery is highly needed.
Fruit tree farming requires a great deal of maintenance work.Given that 25% of the maintenance work in fruit tree farming involves spraying to prevent damage by blight and harmful insects, the speed sprayer is an essential agricultural machine in fruit orchards.However, farmers who operate speed sprayers are easily exposed to pesticides even when wearing protective devices.In order to overcome the problems encountered during spraying tasks using a speed sprayer, there have been many studies of the development of autonomous driving speed sprayers in Korea [3][4][5][6][7].However, because previous studies relied on the use of expensive sensors, an autonomous driving speed sprayer is not yet commercially available in Korea.Therefore, it is necessary to develop a low-cost sensor-based path-generation and tracking technique for the commercialization of an autonomous driving speed sprayer.
To operate an autonomous driving agricultural vehicle, the vehicle must be equipped with navigation sensors that provide information about its dynamic states and the surrounding environment.The most popular navigation sensors used in autonomous driving agricultural vehicles are GNSS (global navigation satellite system), vision sensors, and laser scanners.Stoll and Kutzbach [8] and Thuilot et al. [9] studied an automatic steering system for agricultural vehicles using the GNSS RTK (real-time kinematics).However, the GNSS positioning technique cannot guarantee continuity of positioning and provide attitude information about vehicles.To overcome this type of problem, new types of navigation systems that combine GNSS with auxiliary sensors such as IMU (inertial measurement unit) and tilt sensors have been applied to autonomous agricultural vehicles [10][11][12].Vision sensors have been widely used in mobile robot navigation systems to provide various forms of information for use in autonomous agricultural vehicles, such as localization, map construction, autonomous navigation, path following, inspection, monitoring, and obstacle avoidance [13][14][15][16].However, since the vision sensor needs to process the image acquired by the camera for calculating information, there is a problem wherein it is necessary to use an expensive computer having high performance.Previous studies [17,18] have reported the utilization of a laser scanner to gather surrounding spatial information and extract guidance directions because a laser scanner offers the advantages of high resolutions and a large field of view and given that they are less vulnerable to weather and ambient illumination conditions in comparison with vision sensors.Since the laser scanner is very expensive, it cannot be applied to the development of autonomous driving technology for commercialization.
Currently, the price of GNSS RTK modules is rapidly decreasing, and the performance of single-frequency GNSS RTK systems is increasing owing to advances in the GNSS positioning technique and the operation of the BeiDou Navigation Satellite System.However, most of the previous studies using the GNSS RTK were conducted in early 2000, so it is necessary to examine autonomous driving performance using the GNSS RTK developed at present.In addition, the GNSS signal environment is improved in an orchard as the passage between fruit trees has become wider due to mechanization of farming.Compared to vision and laser systems, GNSS RTK can calculate the necessary information to realize autonomous driving in a short period of time.Therefore, in order to commercialize an autonomous driving speed sprayer, we develop an autonomous driving system using single-frequency GNSS RTK.
In this study, a path-generation and tracking system based on single-frequency GNSS RTK is developed and preliminary results of the testing of this system are analyzed.A description of the autonomous driving algorithm, including the path-generation and tracking aspects, is presented in Section 2. The construction of the autonomous driving system is introduced in Section 3. The performance evaluation of the single-frequency GNSS RTK is given in Section 4. The test results of the autonomous driving system are provided in Section 5, and the conclusion is given in Section 6.

Autonomous Driving Algorithm
2.1.Path-Generation Algorithm.To realize autonomous driving, the specific path for tracking must be established at the beginning.A typical path-generation method is to plan and define the path on a map.However, this method has a disadvantage in the present case in that it is costly to generate a map of an orchard.Another method is to generate a path using positional information.Although path generation based on positional information requires data acquisition for the driving path in advance, there is the advantage of the absence of the need to construct a map for path generation.Therefore, we develop a path-generation algorithm that defines the paths on GNSS RTK based on positional information acquired by the user by manually driving the vehicle.
The process of the proposed path-generation algorithm is shown in Figure 1.In this algorithm, defining a waypoint-based path is done using positional information extracted from RTK fixed data from GNGGA (Global Navigation Satellite System Fix Data) messages.The waypoints are created by the two parameters of the distance between adjacent points and the angle between successive lines calculated by the adjacent points.The distance between adjacent points is used to recompose position data over a certain distance from the dense position data acquired by driving the vehicle.The angle between successive lines as calculated using adjacent points serves to define waypoints as a series of straight-line segments for the path.Figure 2 shows a flowchart of path generation based on the above-mentioned parameters.

Path-Tracking Algorithm.
The process of the proposed path-tracking algorithm is shown in Figure 3.The pathtracking algorithm calculates the vehicle control parameters of the wheel steering angle and vehicle speed using waypoints and RTK GNSS data which include the position, heading, and speed at every epoch.The pathtracking algorithm includes a quality check of the GNSS data, a search routine for a target point, and the computation of the control parameters.The step of the quality check of the GNSS data determines whether to move or to stop the vehicle, as the GNSS receiver may provide abnormal data.In this algorithm, when ambiguities are resolved and the standard deviation of the horizontal position error is lower than 0.1 m, the acquired GNSS data are regarded as normal.
The step of the search for a target point involves searching for a target point in relation to the optimal move of the vehicle on a set of waypoints using the position and heading of the vehicle.To search for a target point based on waypoints, the enclosure-based line-ofsight (LOS) guidance algorithm [19] is applied in this study.The basic idea behind the enclosed-based LOS guidance algorithm is to set a target point that is a point of intersection between a circle with radius R enclosing the vehicle's current position and a straight line between two  2 Journal of Sensors consecutive waypoints (Figure 4).The coordinates of a target point can be calculated by using the slope of the straight line (equation ( 1)) and the circle equation (equation (2)).The detailed formula for calculating the coordinates of a target point is explained in [19].
where α is the slope of the straight line; subscripts North and East are the north and east axes, respectively; WP is a waypoint; A is a vehicle location; B is a target point; and subscript n is a waypoint's index.The last step of the computation of the control parameters is to compute the parameters of the wheel steering angle and vehicle speed for autonomous driving using the target point and vehicle wheelbase.As the steering mode of our test vehicle is AFRS (active front and rear steering), the curvature of the circular arc R for AFRS can be calculated using the following equation [20]: where L d is the distance from the vehicle location to the target point and e L d is the coordinate difference of direction east of the vehicle location to the target point.
The steering angle δ based on the geometry of a bicycle model for AFRS can be calculated using the following equation [20]: where L w is the wheelbase.3 Journal of Sensors Finally, the vehicle speed V can be computed using the time interval Δt and distance L d from the vehicle location to the target point.
The geometry of AFRS steering is shown in Figure 5.

Construction of an Autonomous Driving System
The chassis of the speed sprayer for the test was fabricated as shown in Figure 6.The chassis is a four-wheel vehicle with AFRS.The vehicle was equipped with a GNSS antenna, a GNSS RTK module, an embedded board, touch displays, and a LTE communication module (Figure 6).The GNSS antenna used was a singlefrequency GNSS antenna created by AKTGEO.The GNSS RTK module used the u-blox NEO-M8P that provides cm-level GNSS performance based on the combination of the high performance u-blox M8 positioning engine and u-blox's RTK technology [21].The u-blox NEO-M8P is designed to receive and to track GPS L1 C/A, GLONASS L1OF, and BeiDou B1l signals [21].The u-blox NEO-M8P supports single reception of GPS and concurrent reception of GPS and GLONASS or BeiDou [21].We configured to receive BeiDou concurrently with GPS.And the positioning method of the u-blox NEO-M8P was set to the single baseline GNSS RTK mode.The u-blox NEO-M8P can provide the RTK fixed data when 5 or more GNSS ambiguities are estimated [21].For a single constellation, this means that at least 6 satellites are required to perform GNSS RTK.Adding satellites from an additional constellation requires at least 2 satellites to form the doubledifference measurement [21].However, in the case of the concurrent reception of GPS and BeiDou, at least 8 satellites (e.g. 5 GPS + 3 BeiDou) are required because of the two different BeiDou satellite variants [21].To generate and send RTCM (Radio Technical Commission for Maritime Services) correction data for GNSS RTK, the RTK platform used AKTGEO's AGIP (AKT GNSS IoT platform) [22].The embedded board used was the ODROID-C0 model, which served to operate the autonomous driving software.The autonomous driving system consists of the path-generation system and the path-tracking system.The architecture of the path-generation system is shown in Figure 7, and the process is summarized as follows.The GNSS RTK module computes GNSS RTK data using the RTCM data sent by the RTK platform.When a command to start the data acquisition process in the user interface is sent to the embedded software, the path-generation algorithm saves NMEA (National Marine Electronics Association) data.The user sends a command to finish the data acquisition process after the completion of manually driving for the autonomous driving path, after which the path-generation algorithm generates the waypoint-based autonomous driving path.
The process of the path-tracking system (Figure 8) is summarized below.The path-tracking algorithm is started after the user selects the waypoint database and sends a command to start the autonomous driving.When the NMEA data is received, the path-tracking algorithm searches for the target point and computes the control parameters.The computed control parameters are then sent to the motor drive through the communication module for the motor drive.The motor drive checks the control parameters and then drives the wheels.The results related to autonomous driving are shown on the user interface.The path-tracking algorithm is repeatedly operated until the vehicle arrives at the last waypoint or a command to finish the autonomous driving is sent.

Performance Evaluation of Single-Frequency GNSS RTK
4.1.GNSS Observables.GNSS RTK is a differential positioning technique that uses a combination of carrier phase and pseudorange observables and corrections from the base station, whose location is known [23].RTK provides highly precise positions at the centimeter level in real time because the main errors such as clock error, ionospheric delay, and tropospheric delay are mostly cancelled or reduced by double-differencing processing.
In this section, we briefly introduce observables for GNSS RTK. 4

Journal of Sensors
Under a single baseline condition, the carrier phase and pseudorange measurements at a certain epoch can be written as [24] ρ j,r = λ −1 r j,r + I j,r + T j,r + f δt r − δt j + ε j,r , 6 where ρ and ϕ are pseudorange and carrier measurements (unit: carrier cycle), respectively; subscripts r, b, and j are the rover's receiver, the base's receiver, and the satellite, respectively; λ is the carrier wavelength (unit: m); r is the true distance between the satellite and the receiver (unit: m); I is the ionospheric delay (unit: m); T is the tropospheric delay (unit: m); f is the carrier frequency (unit: Hz); δt r and δt b are the receiver clock error (unit: sec); δt j is the satellite clock error (unit: sec); N is the integer ambiguity; and ε and η are measurement errors of the pseudorange and carrier phase, respectively.

Journal of Sensors
The single-differenced measurement model can be obtained by subtracting the base receiver's measurements from the rover receiver's measurements as follows [24]: where the subscript rb is the difference between the corresponding terms of the rover and the base.
To obtain a double-difference measurement, two singledifference measurements related to two observed satellites are subtracted.The double-difference measurements of the carrier phase and pseudorange are shown as where the subscript ji is the measurements of the j th satellites minus that of the i th satellite.6 Journal of Sensors purpose, the single-frequency GNSS RTK module, the dual-frequency GNSS RTK receiver, and the GNSS/INS (Inertial Navigation System) system were mounted on the car (Figure 9); the test data were acquired by static and kinematic tests.The dual-frequency receiver used in the experiment is a NovAtel DL-V3-GENERIC that can receive GPS L1 C/A, L2C, L2 P(Y), and L5 code and carrier and GLONASS L1 and L2 code and carrier [25].The base stations for the single-frequency and the dualfrequency GNSS RTK are at the same location.To evaluate the performance of GNSS RTK, the reference data were computed postmission using the inertial and GNSS data from the GNSS/INS system using Applanix's POS LV 520 [26].The precision of the horizontal and vertical positions for the reference data is 0.02 m and 0.05 m, respectively.Three GNSS receivers were connected to one antenna using an antenna splitter to eliminate the effect of lever arm offsets.
The static test data were obtained for about 70 minutes in a parking lot with good GNSS signal reception environment.The number of tracked GNSS was from 7 to 9, and all position data of both the single-frequency and the dualfrequency GNSS RTK in the static test are a fixed ambiguity solution.Table 1 summarizes the statistics of the position error with respect to the reference data.As a result of the position error comparison, the performance of the singlefrequency and the dual-frequency GNSS RTK was similar.
The data acquisition for the kinematic test was conducted in the Daegu Technopolis area, which has a variety of GNSS   7 Journal of Sensors reception environments (Figure 10).The travelled distance of the trajectory for the kinematic test is about 8.4 km for about 20 minutes.The number of tracked GNSS during the test was from 4 to 8. The solution types of GNSS RTK during the kinematic test vary depending on the GNSS reception environment; the number of the fixed ambiguity solution for the single-frequency GNSS RTK is slightly more than the number of the fixed ambiguity solution for the dualfrequency GNSS RTK (Table 2).
In case of a fixed ambiguity solution, the statistics of the position error for the kinematic test with respect to the reference data are summarized in Table 3.The standard deviation of the position error of the single-frequency and the dual-frequency GNSS RTK was similar.

Test Results of the Autonomous
Driving System 5.1.Path Generation.An experiment to test the pathgeneration system was conducted in a parking lot which had good GNSS signal reception.The data for the pathgeneration experiment was acquired by manually driving a vehicle using a wireless remote controller (Figure 11).The output rate of the GNSS RTK data was set to 5 Hz, which is the maximum output rate of the GNSS module used.The travel distance is approximately 50 m per minute.The options for waypoint generation, in this case the distance between adjacent points and the angle between successive lines, are 0.03 m and 0.2 degrees, respectively.

Field
Test for Path Tracking.The field test of the pathtracking system for real-time use was performed with a test vehicle in a parking lot.The output rate of the GNSS RTK data was set to 0.2 seconds.After the GNSS RTK data were received at every epoch, the vehicle control parameters were calculated and then sent to the motor drive.The wheel steering angles range from -25 to 25 degrees and the maximum vehicle speed is set at 1 km/h.Figure 12 shows the vehicle location with the waypoints for the field test.The error statistics for the path following from the field test are summarized in Table 4.The maximum error of the path following is 0.055 meters.The RMS of the path-following error is 0.010 meters.

Conclusion
In order to commercialize an autonomous driving speed sprayer, this study presents the preliminary results of the development of an autonomous driving system.To operate the autonomous driving system, we used only the singlefrequency GNSS RTK, a low-cost sensor.The autonomous driving system consisted of a path-generation system and a path-tracking system.The path-generation system generated a waypoint-based reference path using GNSS RTK-based position data, which were acquired by the user when manually driving the vehicle.The path-tracking system calculates the vehicle control parameters for autonomous driving using waypoints and GNSS RTK data, specifically the position, heading, and speed at every epoch.To test the autonomous driving system, we created a speed sprayer chassis in the form of a four-wheel vehicle with AFRS.We then conducted autonomous driving experiments that included path generation and path tracking.A field test for path tracking was carried out.The RMS of the path-following error for the field test was 0.01 m.
To commercialize an autonomous driving speed sprayer, further tasks will be required as follows.At various paths, it may require an adaptive radius for enclosed-based LOS guidance depending on the speed as well as the turning pattern.In addition, filters for predictive and smoothness navigation solutions may be needed in response to both low-quality and loss of GNSS RTK data.Finally, to improve the performance of the autonomous driving system, we will conduct an additional performance analysis

Figure 1 :
Figure 1: Process of the path-generation algorithm.

Figure 7 :
Figure 7: Architecture of the path-generation system.

Figure 8 :
Figure 8: Architecture of the path-tracking system.

Figure 9 :
Figure 9: Test vehicle used for the performance evaluation of single-frequency GNSS RTK.

Figure 10 :
Figure 10: Travel route for the kinematic test.

Figure 11 :Figure 12 :
Figure 11: View of the test of path generation.

Table 1 :
The statistics of the position error for the static test.

Table 2 :
GNSS RTK solution type for kinematic test.

Table 3 :
The statistics of the position error for the kinematic test (fixed ambiguity solution).

Table 4 :
Statistics of the path-following error for the field test (unit: meters).