Performance Evaluation of Autonomous Driving Control Algorithm for a Crawler-Type Agricultural Vehicle Based on Low-Cost Multi-Sensor Fusion Positioning

: The agriculture sector is currently facing the problems of aging and decreasing skilled labor, meaning that the future direction of agriculture will be a transition to automation and mechanization that can maximize e ﬃ ciency and decrease costs. Moreover, interest in the development of autonomous agricultural vehicles is increasing due to advances in sensor technology and information and communication technology (ICT). Therefore, an autonomous driving control algorithm using a low-cost global navigation satellite system (GNSS)-real-time kinematic (RTK) module and a low-cost motion sensor module was developed to commercialize an autonomous driving system for a crawler-type agricultural vehicle. Moreover, an autonomous driving control algorithm, including the GNSS-RTK / motion sensor integration algorithm and the path-tracking control algorithm, was proposed. Then, the performance of the proposed algorithm was evaluated based on three trajectories. The Root Mean Square Errors (RMSEs) of the path-following of each trajectory are calculated to be 9, 7, and 7 cm, respectively, and the maximum error is smaller than 30 cm. Thus, it is expected that the proposed algorithm could be used to conduct autonomous driving with about a 10 cm-level of accuracy.

. Summary of previous studies using navigation sensors.

Reference. Sensor Target Vehicle Error Country
O'Connor et al. [8] 4 antenna carrier-phase GPS System tractor Less than 2.5 cm United States Stoll and Kuzbach [9] GNSS-RTK Automatic steering system 2.5-6.9 cm Germany Gan-Mor et al. [10] GNSS-RTK tractor Centimeters Israel Han et al. [11] single-frequency GNSS-RTK speed sprayer Centimeters Korea Noguchi et al. [13] GNSS-RTK, a fiber optic gyroscope (FOG) and an IMU autonomous driving robot 3 cm Japan Takai et al. [14] GNSS-RTK and an IMU crawler-type tractor 5 cm Japan Xiang et al. [15] GNSS-RTK and IMU rice transplanter Less than 10 cm China Recently, advances in micro electromechanical system (MEMS) technology have led to the development of a small and inexpensive MEMS-IMU, and the performance of the MEMS-IMU is being Appl. Sci. 2020, 10, 4667 3 of 12 improved [16]. In addition, the performance of a low-cost GNSS-RTK module is improving due to advances in the multi-GNSS positioning technique using GPS, a global navigation satellite system (GLONASS), BeiDou, Galileo, and a quasi-zenith satellite system (QZSS). Despite the development of various sensors, a low-cost autonomous driving system is not yet commercially available because most of the previous studies were conducted by using expensive GNSS-RTK and IMU. Therefore, an autonomous driving algorithm using the fusion of a low-cost GNSS-RTK module and a low-cost motion sensor module was proposed in this study to commercialize a low-cost autonomous driving system for crawler-type agricultural vehicles, and its performance was evaluated based on three different trajectories.

Autonomous Driving Control Algorithm
This section presents the proposed autonomous driving control algorithm for the crawler-type agricultural vehicle with a chassis and a working machine attached to one body, such as speed sprayer and weeding vehicle. The algorithm is divided into two parts; one is a GNSS-RTK/motion sensor integrated positioning algorithm, which is used to calculate the navigational information, and the other one, the path-tracking control algorithm, calculates the desired vehicle course based on the vehicle position and waypoints.

GNSS-RTK/Motion Sensor Integrated Positioning Algorithm
In autonomous driving of the crawler-type vehicle, the left and right track speeds are controlled to follow a specific route based on navigation information and waypoints. Therefore, a GNSS-RTK and a motion sensor integrated positioning algorithm was implemented to guarantee continuity of navigational information and accuracy and stability of autonomous driving. The GNSS-RTK/motion sensor integrated positioning algorithm was implemented by a loosely coupled integration based on an extended Kalman filter (EKF). A block diagram of the GNSS-RTK/motion sensor integrated positioning algorithm is shown in Figure 1. Since the proposed positioning algorithm is similar to the multi-sensor integration algorithm previously studied, please refer to [17][18][19][20][21].
Noguchi et al. [13] optic gyroscope (FOG) and an IMU driving robot 3 cm Japan Takai et al. [14] GNSS-RTK and an IMU crawler-type tractor 5 cm Japan Xiang et al. [15] GNSS-RTK and IMU rice transplanter Less than 10 cm China Recently, advances in micro electromechanical system (MEMS) technology have led to the development of a small and inexpensive MEMS-IMU, and the performance of the MEMS-IMU is being improved [16]. In addition, the performance of a low-cost GNSS-RTK module is improving due to advances in the multi-GNSS positioning technique using GPS, a global navigation satellite system (GLONASS), BeiDou, Galileo, and a quasi-zenith satellite system (QZSS). Despite the development of various sensors, a low-cost autonomous driving system is not yet commercially available because most of the previous studies were conducted by using expensive GNSS-RTK and IMU. Therefore, an autonomous driving algorithm using the fusion of a low-cost GNSS-RTK module and a low-cost motion sensor module was proposed in this study to commercialize a low-cost autonomous driving system for crawler-type agricultural vehicles, and its performance was evaluated based on three different trajectories.

Autonomous Driving Control Algorithm
This section presents the proposed autonomous driving control algorithm for the crawler-type agricultural vehicle with a chassis and a working machine attached to one body, such as speed sprayer and weeding vehicle. The algorithm is divided into two parts; one is a GNSS-RTK/motion sensor integrated positioning algorithm, which is used to calculate the navigational information, and the other one, the path-tracking control algorithm, calculates the desired vehicle course based on the vehicle position and waypoints.

GNSS-RTK/Motion Sensor Integrated Positioning Algorithm
In autonomous driving of the crawler-type vehicle, the left and right track speeds are controlled to follow a specific route based on navigation information and waypoints. Therefore, a GNSS-RTK and a motion sensor integrated positioning algorithm was implemented to guarantee continuity of navigational information and accuracy and stability of autonomous driving. The GNSS-RTK/motion sensor integrated positioning algorithm was implemented by a loosely coupled integration based on an extended Kalman filter (EKF). A block diagram of the GNSS-RTK/motion sensor integrated positioning algorithm is shown in Figure 1. Since the proposed positioning algorithm is similar to the multi-sensor integration algorithm previously studied, please refer to [17][18][19][20][21].  When the accelerometer and gyroscope in the motion sensor measure specific forces and angular rates, respectively, the navigation solutions including position, velocity, and attitude are computed using the inertial navigation system (INS) mechanization ( Figure 2). Moreover, the magnetometer in a motion sensor measures both the sign and the magnitude of the earth's magnetic field, and yaw is calculated by using the current position, attitude, and magnetic declination data and updated in EKF. The process of yaw computation using the magnetometers' measurement is composed of four parts: (1) tilt compensation to obtain horizontal magnetic measurements, (2) ferrous distortion compensation, (3) magnetic yaw computation, (4) declination angle compensation to adjust the true north. For details of INS mechanization and yaw computation, please see [17][18][19] and [20], respectively. In addition, if the GNSS-RTK module provides the position and velocity information, the GNSS update in EKF is carried out.
using the inertial navigation system (INS) mechanization ( Figure 2). Moreover, the magnetometer in a motion sensor measures both the sign and the magnitude of the earth's magnetic field, and yaw is calculated by using the current position, attitude, and magnetic declination data and updated in EKF. The process of yaw computation using the magnetometers' measurement is composed of four parts: (1) tilt compensation to obtain horizontal magnetic measurements, (2) ferrous distortion compensation, (3) magnetic yaw computation, (4) declination angle compensation to adjust the true north. For details of INS mechanization and yaw computation, please see [17][18][19] and [20], respectively. In addition, if the GNSS-RTK module provides the position and velocity information, the GNSS update in EKF is carried out.
where is the dynamic matrix, δ is the error state vector, is the shaping matrix, and is the white noise vector. Details about the dynamic matrix, the shaping matrix, and the white noise vector can be found in [21].
The measurement model is generally written as: where is the measurement vector, is the design matrix, and is the measurement noise vector.
The measurement vector for GNSS ( ) is the difference in the position and velocity estimated from the INS mechanization and the data acquired from the GNSS-RTK module, as expressed in (3): In the EKF-based GNSS-RTK/motion sensor integrated positioning algorithm, the error state vector of the navigation part is composed of position errors (δϕ, δλ, δh) expressed in the world geodetic system 1984 (WGS84) coordinate system, velocity errors (δv n , δv e , δv d ) in the navigation frame, and attitude errors (δφ, δθ, δψ). The error state vector of the sensor part consists of accelerometer bias (δb x , δb y , δb z ) and gyro bias (δd x , δd y , δd z ), defined by the first-order Gauss-Markov processes. The dynamic model is expressed as: δ where F is the dynamic matrix, δx is the error state vector, G is the shaping matrix, and u is the white noise vector. Details about the dynamic matrix, the shaping matrix, and the white noise vector can be found in [21]. The measurement model is generally written as: where z is the measurement vector, H is the design matrix, and w m is the measurement noise vector. The measurement vector for GNSS (z GNSS ) is the difference in the position and velocity estimated from the INS mechanization and the data acquired from the GNSS-RTK module, as expressed in (3): where the subscripts INS and GNSS denote the value estimates from INS mechanization and the data acquisition of the GNSS-RTK module, respectively; ϕ, λ, and h are the latitude, longitude, and ellipsoidal height, respectively; v n , v e , and v d are the north velocity, east velocity, and down velocity, respectively; C n b is the direction cosine matrix from the body frame to the navigation frame; and V GNSS is the speed over the ground provided by the GNSS-RTK module.

of 12
The design matrix for GNSS (H GNSS ) is expressed as: where I 3×3 is the 3 × 3 identity matrix, O n×m is n × m zero matrix, and v n GNSS is the GNSS derived velocities expressed in the navigation frame.
The measurement vector (z MAG ) and the design matrix (H MAG ) based on yaw measurement calculated by using a magnetometer measurement are written as: where the subscript MAG denotes the value calculated by using the magnetometers' measurement, and ψ is the yaw angle.

Path-Tracking Control Algorithm
The path-tracking algorithm computes the control parameters including the left and right track velocities for autonomous driving along the desired vehicle course based on waypoints and the vehicle's current navigational information. Figure 3 shows the process of the proposed path-tracking control algorithm. The path-tracking control algorithm consists of four parts: checking the quality of navigational data, switching the waypoint, searching the target point, and computing the control parameter. The first step, which checks the quality of navigational data, determines whether to move or to stop an autonomous driving vehicle, as the GNSS-RTK/motion sensor integrated positioning algorithm may provide navigational data of a low quality. In this study, the navigational data are regarded as good quality when the age of the GNSS measurement update with the resolved ambiguity does not exceed 2 s and the precision of position is lower than 0.5 m. If the quality of the navigational data is bad, the left and right track speeds are set to zero and transmitted to the motor drives.
Appl. Sci. 2020, 10, x FOR PEER REVIEW 5 of 13 where the subscripts INS and GNSS denote the value estimates from INS mechanization and the data acquisition of the GNSS-RTK module, respectively; , , and are the latitude, longitude, and ellipsoidal height, respectively; , , and are the north velocity, east velocity, and down velocity, respectively; is the direction cosine matrix from the body frame to the navigation frame; and is the speed over the ground provided by the GNSS-RTK module. The design matrix for GNSS ( ) is expressed as: where is the 3 × 3 identity matrix, is n × m zero matrix, and is the GNSS derived velocities expressed in the navigation frame.
The measurement vector ( ) and the design matrix ( ) based on yaw measurement calculated by using a magnetometer measurement are written as: where the subscript MAG denotes the value calculated by using the magnetometers' measurement, and is the yaw angle.

Path-Tracking Control Algorithm
The path-tracking algorithm computes the control parameters including the left and right track velocities for autonomous driving along the desired vehicle course based on waypoints and the vehicle's current navigational information. Figure 3 shows the process of the proposed path-tracking control algorithm. The path-tracking control algorithm consists of four parts: checking the quality of navigational data, switching the waypoint, searching the target point, and computing the control parameter. The first step, which checks the quality of navigational data, determines whether to move or to stop an autonomous driving vehicle, as the GNSS-RTK/motion sensor integrated positioning algorithm may provide navigational data of a low quality. In this study, the navigational data are regarded as good quality when the age of the GNSS measurement update with the resolved ambiguity does not exceed 2 s and the precision of position is lower than 0.5 m. If the quality of the navigational data is bad, the left and right track speeds are set to zero and transmitted to the motor drives.  The step of switching the waypoint is to determine whether to switch the next waypoint or not. The route of the vehicle for autonomous driving is represented by waypoints that are a set of points for Appl. Sci. 2020, 10, 4667 6 of 12 absolute locations defined by the vehicle's latitude and longitude coordinates. Since the autonomous driving vehicle navigates between consecutive waypoints, it is important to switch between the various waypoints to follow a specified path. In addition, since the crawler-type vehicle can rotate in-situ, it is necessary to consider whether to rotate in situ or not at the current waypoint. To determine whether the current waypoint is the point of rotation in situ or not, it is necessary to check the angle between the two straight lines created by two adjacent waypoints relative to the current waypoint by the following equation: where n is the current waypoint index, WP n North and WP n North are the north and the east coordinates of the current waypoint, which are defined by the north, east, down (NED) relative coordinate system with the origin at the current vehicle's location, and γ is the reference angle to determine whether to rotate in-situ.
If the current waypoint is the point of rotation, the waypoint is switched when the difference between the current vehicle's yaw and the azimuth of the straight line generated between the current waypoint and the next waypoint is within the reference angle. If the current waypoint is not the point of rotation in-situ, to switch the next waypoint, it is checked whether the vehicle is within the acceptance radius at the current waypoints, as expressed in the following Equation [22]: where WP n North and WP n North are the north and the east coordinates of the current waypoint, which are defined by the NED relative coordinate system with the origin at the current vehicle's location, and R WP is the acceptance circle radius for switching the waypoint. The step of searching the target point is to set a point, which is a location to be moved at the next epoch based on the current vehicle location and the selected waypoint. To set a target point, the enclosed-based line-of-sight (LOS) guidance algorithm [22] is applied in this study. This method is to calculate the coordinates of a target point based on the slope of the straight line between the current waypoint and the previous waypoint and a circle with radius R enclosing the current vehicle's location ( Figure 4). Details of the equations to calculate the coordinate of a target point using the enclosed-based LOS guidance algorithm can be found in [22]. The difference from the method in [22] is if the distance between the current vehicle's location and the current waypoint's location is smaller than radius R, the coordinate of the target point is set to the coordinate of the current waypoint.
Appl. Sci. 2020, 10, x FOR PEER REVIEW 6 of 13 The step of switching the waypoint is to determine whether to switch the next waypoint or not. The route of the vehicle for autonomous driving is represented by waypoints that are a set of points for absolute locations defined by the vehicle's latitude and longitude coordinates. Since the autonomous driving vehicle navigates between consecutive waypoints, it is important to switch between the various waypoints to follow a specified path. In addition, since the crawler-type vehicle can rotate in-situ, it is necessary to consider whether to rotate in situ or not at the current waypoint.
To determine whether the current waypoint is the point of rotation in situ or not, it is necessary to check the angle between the two straight lines created by two adjacent waypoints relative to the current waypoint by the following equation: where n is the current waypoint index, and are the north and the east coordinates of the current waypoint, which are defined by the north, east, down (NED) relative coordinate system with the origin at the current vehicle's location, and γ is the reference angle to determine whether to rotate in-situ.
If the current waypoint is the point of rotation, the waypoint is switched when the difference between the current vehicle's yaw and the azimuth of the straight line generated between the current waypoint and the next waypoint is within the reference angle. If the current waypoint is not the point of rotation in-situ, to switch the next waypoint, it is checked whether the vehicle is within the acceptance radius at the current waypoints, as expressed in the following equation [22]: where and are the north and the east coordinates of the current waypoint, which are defined by the NED relative coordinate system with the origin at the current vehicle's location, and is the acceptance circle radius for switching the waypoint. The step of searching the target point is to set a point, which is a location to be moved at the next epoch based on the current vehicle location and the selected waypoint. To set a target point, the enclosed-based line-of-sight (LOS) guidance algorithm [22] is applied in this study. This method is to calculate the coordinates of a target point based on the slope of the straight line between the current waypoint and the previous waypoint and a circle with radius R enclosing the current vehicle's location ( Figure 4). Details of the equations to calculate the coordinate of a target point using the enclosed-based LOS guidance algorithm can be found in [22]. The difference from the method in [22] is if the distance between the current vehicle's location and the current waypoint's location is smaller than radius R, the coordinate of the target point is set to the coordinate of the current waypoint.  In the final step, to compute the control parameter is to calculate the value of the left and right track speed to reach a target point. The method of calculating the control parameters is explained through two cases. The first case is that the vehicle rotates in situ when the distance between the current vehicle's location and the current waypoint's location is smaller than radius R. In this case, the same constant value is assigned to the left and the right track speeds, and the sign is assigned differently according to the rotation direction. For example, in the case of a left rotation in situ, the signs of the left and right track speeds are assigned as plus and minus, respectively. In the case of a right rotation in-situ, the signs of the left and right track speeds are assigned as minus and plus, respectively. The second case is for calculating the velocity of the left and right track to drive the vehicle to a target point when the distance between the vehicle's current location and the current waypoint's location is larger than radius R. To calculate the velocity of the left and right track, the target angle and the target speed are computed. The target angle (α TP ) is the difference between the current vehicle's yaw and the azimuth of the straight line generated by the vehicle's current location and the target point's location, which is calculated by: where TP North and TP East are the north and the east coordinates of a target point, which are defined by the NED relative coordinate system with the origin at the vehicle's current location, and ψ is the yaw of the vehicle. The target speed (V TP ) is defined based on the target angle as follows: where V min is the lower bound of the speed, V max is the upper bound of the speed, and σ is the design parameter to alter the slope of the speed curve. The velocities of the left and right tracks are calculated as: where v le f t and v right are the left track velocity and the right track velocity, respectively; T r is the distance between the left track and the right track; and ∆t is the control time interval.

Test Description
The crawler-type vehicle for the autonomous driving test used a speed sprayer prototype, which is created by the Sungboo Industry Company, as shown in Figure 5a. Table 2 shows the vehicle's specifications. The vehicle was equipped with the test hardware for autonomous driving, including a GNSS antenna, a GNSS-RTK module, a motion sensor module, an embedded board, and an LTE communication device (Figure 5b). For the GNSS-RTK module, u-blox ZED-F9P, which provided centimeter-level accuracy GNSS performance based on u-blox multi-band RTK technology [23] is used. The price of the ZED-F9P was about $170. The configuration of the GNSS was set to receive GPS, GLONASS, Galileo, BeiDou and QZSS. The positioning method of the u-blox ZED-F9P was set to the single baseline GNSS RTK mode and the output rate of the GNSS-RTK data was set to 5 Hz. MTi-1, which contained a 3-axis gyroscope, a 3-axis accelerometer, and a 3-axis magnetometer [24], was applied as a motion sensor, and the price was about $150. The output rate of the motion sensor's raw data was set to 100 Hz. Moreover, an embedded board, the raspberry pi 4 model, was used to operate the autonomous driving control algorithm [25].  The autonomous driving test was conducted to investigate the accuracy of the path-following in a parking lot of the Sungboo Industry Company, where the GNSS signal reception environment is normal. The control interval of the proposed algorithm was set to 0.01 s. Since the speed sprayer runs at a lower speed in spraying pesticides, the maximum and the minimum speed were set at 6 km/h and 0.36 km/h, respectively. The acceptance radius for switching waypoints and the radius for searching a target point were set to 0.4 and 2 m, respectively. The data for generating waypoints was acquired by manually driving a vehicle using a wireless remote controller based on the pathgeneration algorithm that was developed by [11]. The shape of test paths was defined based on the shape of working paths for the agricultural vehicle, such as a speed sprayer and a weeding vehicle, to which autonomous driving will be applied. In the generation of waypoints, the distance between adjacent points and the angle between successive lines were set to 0.5 m and 3 degrees, respectively. The path-following error for the performance evaluation was calculated as the shortest distance between the vehicle's location and a straight line between two consecutive waypoints near the vehicle's location at every epoch ( Figure 6). The path-following error (e) is calculated as: = sin (12) = cos + − 2 (13) where is the distance between two consecutive waypoints near the vehicle's location, and are the distance between the vehicle's location and the waypoint near the vehicle's location.  The autonomous driving test was conducted to investigate the accuracy of the path-following in a parking lot of the Sungboo Industry Company, where the GNSS signal reception environment is normal. The control interval of the proposed algorithm was set to 0.01 s. Since the speed sprayer runs at a lower speed in spraying pesticides, the maximum and the minimum speed were set at 6 km/h and 0.36 km/h, respectively. The acceptance radius for switching waypoints and the radius for searching a target point were set to 0.4 and 2 m, respectively. The data for generating waypoints was acquired by manually driving a vehicle using a wireless remote controller based on the path-generation algorithm that was developed by [11]. The shape of test paths was defined based on the shape of working paths for the agricultural vehicle, such as a speed sprayer and a weeding vehicle, to which autonomous driving will be applied. In the generation of waypoints, the distance between adjacent points and the angle between successive lines were set to 0.5 m and 3 degrees, respectively. The path-following error for the performance evaluation was calculated as the shortest distance between the vehicle's location and a straight line between two consecutive waypoints near the vehicle's location at every epoch ( Figure 6). The path-following error (e) is calculated as: where a is the distance between two consecutive waypoints near the vehicle's location, b and c are the distance between the vehicle's location and the waypoint near the vehicle's location.

Performance Evaluation
Three trajectories were used in the performance evaluation of the autonomous driving control algorithm. The first trajectory contained 65 waypoints, and the length of the first trajectory was 51 m. The first trajectory included three straight-line sections, one curve section, and one in-situ rotation section. In Figure 7a, the blue points are the waypoints and the red points are the vehicle running in Figure 6. Path-following error.

Performance Evaluation
Three trajectories were used in the performance evaluation of the autonomous driving control algorithm. The first trajectory contained 65 waypoints, and the length of the first trajectory was 51 m. The first trajectory included three straight-line sections, one curve section, and one in-situ rotation section. In Figure 7a, the blue points are the waypoints and the red points are the vehicle running in the first trajectory. Figure 7b shows a path-following error and the vehicle's yaw. In the first trajectory, the maximum error of the path-following was calculated to be 0.21 m, and the RMS of the path-following error was 0.09 m. It was found that the error of the in-situ rotation section was higher than that of the other sections, as shown in Figure 7. This result was caused by slip due to vehicle dynamic force when the vehicle stopped in the in-situ rotation section.

Performance Evaluation
Three trajectories were used in the performance evaluation of the autonomous driving control algorithm. The first trajectory contained 65 waypoints, and the length of the first trajectory was 51 m. The first trajectory included three straight-line sections, one curve section, and one in-situ rotation section. In Figure 7a, the blue points are the waypoints and the red points are the vehicle running in the first trajectory. Figure 7b shows a path-following error and the vehicle's yaw. In the first trajectory, the maximum error of the path-following was calculated to be 0.21 m, and the RMS of the pathfollowing error was 0.09 m. It was found that the error of the in-situ rotation section was higher than that of the other sections, as shown in Figure 7. This result was caused by slip due to vehicle dynamic force when the vehicle stopped in the in-situ rotation section.  Figure 8a and Figure 8b show the vehicle location with the waypoints for the second trajectory and the path-following error with the vehicle's yaw, respectively. As seen in Figure 8, the second trajectory is composed of four curved sections and five straight-line sections. The number of waypoints was 90 and the length of the trajectory was 81 m. Compared with the first trajectory, the turning radius was narrower in the curve sections. The RMSE (Root Mean Square Error) of the pathfollowing was 0.07 m. Specifically, the vehicle was following the path well, but the largest pathfollowing error, which was 0.21 m, occurred in the end part of the first curve section. It means that the set radius for searching a target point was not perfectly operated to follow the desired path in the narrower curve section. Therefore, perfectly to operate autonomous driving, it is considered that an algorithm for adjusting the target search distance according to the turning radius should be added through various field tests.  Figure 8a,b show the vehicle location with the waypoints for the second trajectory and the path-following error with the vehicle's yaw, respectively. As seen in Figure 8, the second trajectory is composed of four curved sections and five straight-line sections. The number of waypoints was 90 and the length of the trajectory was 81 m. Compared with the first trajectory, the turning radius was narrower in the curve sections. The RMSE (Root Mean Square Error) of the path-following was 0.07 m. Specifically, the vehicle was following the path well, but the largest path-following error, which was 0.21 m, occurred in the end part of the first curve section. It means that the set radius for searching a target point was not perfectly operated to follow the desired path in the narrower curve section. Therefore, perfectly to operate autonomous driving, it is considered that an algorithm for adjusting the target search distance according to the turning radius should be added through various field tests.
The third trajectory consists of 111 waypoints with a total length of 81 m. The third trajectory includes five straight-line sections, two curve sections, and three in-situ rotation sections. The vehicle location with the waypoints for the third trajectory and the path-following error with the vehicle's yaw are shown in Figure 9. The maximum error and RMSE of the path-following are 0.29 and 0.07 m, respectively. It can be seen that autonomous driving was operated more precisely in curve sections as the turning radius of curve sections is wider than that of curve sections of the second trajectory. However, because the vehicle cannot be perfectly reached, the rotation in-situ waypoint, the first in-situ rotation section, has incurred the largest error. It is considered that the above problem can be solved by adjusting the acceptance radius for switching waypoint based on the characteristic of waypoints such as stop and go. Appl. Sci. 2020, 10, x FOR PEER REVIEW 10 of 13 (a) (b) The third trajectory consists of 111 waypoints with a total length of 81 m. The third trajectory includes five straight-line sections, two curve sections, and three in-situ rotation sections. The vehicle location with the waypoints for the third trajectory and the path-following error with the vehicle's yaw are shown in Figure 9. The maximum error and RMSE of the path-following are 0.29 and 0.07 m, respectively. It can be seen that autonomous driving was operated more precisely in curve sections as the turning radius of curve sections is wider than that of curve sections of the second trajectory. However, because the vehicle cannot be perfectly reached, the rotation in-situ waypoint, the first insitu rotation section, has incurred the largest error. It is considered that the above problem can be solved by adjusting the acceptance radius for switching waypoint based on the characteristic of waypoints such as stop and go. Summing up the test results, the RMS of the path-following error at three trajectories was calculated to be 10 cm and the maximum error was also bound smaller than 30 cm. However,  The third trajectory consists of 111 waypoints with a total length of 81 m. The third trajectory includes five straight-line sections, two curve sections, and three in-situ rotation sections. The vehicle location with the waypoints for the third trajectory and the path-following error with the vehicle's yaw are shown in Figure 9. The maximum error and RMSE of the path-following are 0.29 and 0.07 m, respectively. It can be seen that autonomous driving was operated more precisely in curve sections as the turning radius of curve sections is wider than that of curve sections of the second trajectory. However, because the vehicle cannot be perfectly reached, the rotation in-situ waypoint, the first insitu rotation section, has incurred the largest error. It is considered that the above problem can be solved by adjusting the acceptance radius for switching waypoint based on the characteristic of waypoints such as stop and go. Summing up the test results, the RMS of the path-following error at three trajectories was calculated to be 10 cm and the maximum error was also bound smaller than 30 cm. However, numerous performance analysis based on various agricultural environments that are used by the autonomous driving agricultural vehicle is necessary to commercialize an autonomous driving Summing up the test results, the RMS of the path-following error at three trajectories was calculated to be 10 cm and the maximum error was also bound smaller than 30 cm. However, numerous performance analysis based on various agricultural environments that are used by the autonomous driving agricultural vehicle is necessary to commercialize an autonomous driving system for a crawler-type agricultural vehicle. Moreover, to improve the stability and accuracy, the upgrade of the algorithm would be carried out as follows, in the future. At various curve paths, it is necessary to add the adjustment of an adaptive search radius for the enclosed-based LOS guidance depending on the turning radius for stable autonomous driving. Adjusting the acceptance radius for switching waypoint based on the characteristic of waypoints such as stop and go will be also added in the proposed algorithm. Finally, to provide stable and accurate navigational information in an agricultural environment, filter tuning for the positioning algorithm will be conducted by considering some constraints and additional integration of the track speeds of the vehicle.

Conclusions
In this study, an autonomous driving control algorithm for a crawler-type vehicle has been proposed, and the autonomous driving test was conducted to investigate the accuracy of the path-following for the proposed algorithm. The proposed algorithm is based on the use of a low-cost GNSS-RTK module and a low-cost motion sensor module, which consists of the positioning algorithm and the path-tracking control algorithm. To provide the stable accuracy and continuity of navigation information, the positioning algorithm that integrates the GNSS-RTK module with a motion sensor, including a 3-axis gyroscope, a 3-axis accelerometer, and a 3-axis magnetometer, is loosely implemented through coupled-mode EKF. The path-tracking algorithm calculates the left and the right track velocity for autonomous driving using waypoints and vehicle's navigational information. The performance evaluation was conducted by using three waypoint-based trajectories that include straight-line sections, curve sections, and in-situ rotation section, in a parking lot. As a result, it was found that the RMS of the path-following error for autonomous driving with respect to three trajectories was smaller than 10 cm, and the maximum path-following error did not exceed 30 cm.
Based on the tests, it could be concluded that the autonomous driving using low-cost navigation sensors is available so that this study might help and apply the commercialization of an autonomous driving agricultural vehicle. In addition, the proposed algorithm can be an alternative solution to complement the limitation of the camera and the laser-scanner-based autonomous driving technique. Although, the autonomous driving control algorithm and the performance of the path-following algorithm with about a 10-cm level of accuracy were demonstrated in this paper; however, the algorithm is necessary to be improved as follows in the future. Since the performance of the path-tracking control algorithm depends on the performance of the GNSS-RTK/motion sensor integrated positioning algorithm, filter tuning, additional constraints, and the integration of the track speeds of the vehicle are necessary to compute stable and accurate navigational information in the agricultural environment. In order to improve the performance of the path-following in the curve section, it is necessary to add an adaptive search radius for the enclosed-based LOS guidance depending on the turning radius at various curve paths. In addition, adjusting the acceptance radius for switching the waypoint based on the characteristic of waypoints such as stop and go is necessary to be added to the proposed algorithm. Finally, since the performance evaluation of the proposed algorithm was conducted only in the parking lot, numerous performance analysis is necessary considering a wide variety of operating conditions, such as terrain and driving environment.