Multiple Vehicles Semi-Self-driving System Using GNSS Coordinate Tracking under Relative Position with Correction Algorithm

This paper describes a simple and low-cost semiself-driving system which is constructed without cameras or image processing. In addition, a position correction method is presented by using a vehicle dynamics. Conventionally, selfdriving vehicle is operated by various expensive environmental recognition sensors. It results in rise in prices of the vehicle, and also the complicated system with various sensors tends to be a high possibility of malfunction. Therefore, we propose the semi-self-driving system with a single type of global navigation satellite system (GNSS) receiver and a digital compass, which is based on a concept of a preceding vehicle controlled by a human manually and following vehicles which track to the preceding vehicle automatically. Each vehicle corrects coordinate using current velocity and heading angle from sensors. Several experimental and simulation results using our developed smallscale vehicles demonstrate the validity of the proposed system and correction method. Keywords—Self-driving, positioning; global navigation satellite system (GNSS); Global Positioning System (GPS); GLONASS


I. INTRODUCTION
Recently, the self-driving technology has been developed rapidly in Intelligent Technology (IT) and automotive industries.It is well known that Google shows remarkable performances of the self-driving system which is configured by cameras, radars, the Global Navigation Satellite System (GNSS) device and the Google digital map.Generally, the self-driving vehicle operates based on the image processing information using cameras, radars and GNSS for positioning and obstacle detection [1], [2].However, it is difficult to use in situations of bad weather and the camera covered by obstacles.In addition, the use of the camera and the radar cause to increase the vehicle producing cost [3], [4].
If the GNSS technology, such as Global Positioning System (GPS, USA), GLONASS (RUSSIA) and GALILEO (EU), is used for measuring a correct position of the vehicle, there is no need to measure the vehicle position by using the camera.The GPS is most useful system for the present.The GPS system supplies two service, Precise Positioning Service (PPS) and the Standard Positioning Service (SPS) [5].The PPS provides reliable positioning which enough to implement the self-driving system [6].However, the PPS could be used only for military or authorized user.The SPS is operated by only the GPS receiver independently, the position is calculated by receiving information from the satellite.The SPS could be used without authorization.however, the positioning reliability of the SPS mode is not enough for practical use.
Fig. 1 shows an example of GNSS positioning reliability indicating method in two-dimension.The GNSS positioning reliability is quantified to accuracy and precision [7].The accuracy means that how close to the absolute coordinate from each of measured coordinate.The error of each positioning is quantified to accuracy which indicated in distance unit.The precision means that how concentrated each measured coordinates, and is indicated in the distribution of each measured coordinates.In this paper, the accuracy has considered significantly for positioning reliability evaluation and position error indicating.
,ŝŐŚ ĂĐĐƵƌĂĐǇ >Žǁ ƉƌĞĐŝƐŝŽŶ ,ŝŐŚ ĂĐĐƵƌĂĐǇ ,ŝŐŚ ƉƌĞĐŝƐŝŽŶ >Žǁ ĂĐĐƵƌĂĐǇ ,ŝŐŚ ƉƌĞĐŝƐŝŽŶ >Žǁ ĂĐĐƵƌĂĐǇ >Žǁ ƉƌĞĐŝƐŝŽŶ Approximately 95% of position errors as accuracy are occurred lower than 3.351 m in the SPS mode of the GPS [8], [9].Therefore, The self-driving using the SPS is unable practically.On the other hand, an error correction algorithm which is possible to increase a positioning accuracy in about several centimeters is applied under the Differential Global Navigation Satellite System (DGNSS) mode in the SPS mode.In the DGNSS mode, two types could be applied for position correction.One of the type is Real Time Kinematic (RTK) and the other is Satellite Based Augmentation System (SBAS).In the RTK type, Radio Technical Commission for Maritime Service (RTCM) correction data is transmitted to GNSS receiver from a base station [10].Therefore, in order to use the RTK type correction, it is necessary to install the base station in advance, and its available range is limited by the base station performances.Thus, the RTK type is impossible to use under the general road environment and also difficult to use for the self-driving vehicle.In the SBAS type, correction data is transmitted to GNSS receiver from the SBAS satellite periodically.Generally, position error is several meters under the SBAS correction.Wide Area Augmentation System (WAAS) of USA or MTSAT Satellite Augmentation System (MSAS) of JAPAN is the famous for the SBAS [11]- [13].The SBAS is operated with only SBAS compatible receiver which is not required the base station.Therefore, although the position accuracy measured by the SPS or the SBAS is not enough for practical use, the SPS or the SBAS mode is available for the self-driving vehicle using the general road environment [14].
It is well known that the position errors occur a satellite orbit error, an atomic clock error, an ionosphere passage, a troposphere passage, a multi-path, due to the arrangement of satellite geometric error.The largest component of reason in the position error is the time delay by the ionospheric passage [15].Fig. 2 shows correlation between refraction and propagation delay on the ionospheric passage.Radio wave refraction occurs when the radio wave passes through the ionosphere and the path of radio wave become longer.However, if two SPS mode GNSS receivers are located closely each other, the trends of each position error are similar.The reason why there is a greater possibility that two SPS mode GNSS receivers receive the signal from the same satellites located near in 10 km approximately [16].That is, it causes a similar time delay, since signals received by two SPS mode GNSS receivers are passing through the similar path of ionosphere passage.Therefore, position errors have similar trends between two receivers [17].
In this paper, we propose a simple and low-cost semiself-driving system which is constructed without cameras or image processing on the basis of a new concept using multiple vehicles that one is a preceding vehicle and the others are following vehicles.Relative positions of two vehicles are used for the proposed semi-self-driving system.The preceding vehicle controlled by the driver always transmits the position information to the following vehicle.The following vehicle is controlled automatically with tracking to the preceding vehicle.In addition, in order to improve stability and reliability of positioning, vehicle dynamics based position correction algorithm is applied to the system.
In following sections, system algorithm, implementation and evaluation method are described in detail.Several experimental and simulation results using developed small-scale vehicles demonstrate the validity of the proposed system and correction method.II.DEVELOPED SEMI-SELF-DRIVING SYSTEM Fig. 3 shows the concept of the developed semi-selfdriving system.The system is configured by the preceding and following vehicles.As mentioned above, the SPS or SBAS of GNSS position errors of vehicles are similar when vehicles are located very closely.Therefore, it is possible to ensure reliable accuracy by using the relative position of vehicles.The preceding vehicle transmits own position, heading angle and speed to the first following vehicle.The first following vehicle drives with tracking a coordinate of the preceding vehicle, and the second following vehicle drives with tracking a coordinate of the first following vehicle.The preceding vehicle is controlled by the driver manually.Each vehicle updates own position periodically.

A. Grouping Algorithm
The preceding vehicle makes a group driving profile, and broadcasts profile to all of the following vehicles in the group.The profile is composed of number of vehicles, serial number of vehicle, sequence, limit velocity, minimum safety distance.The following vehicle checks the profile, and makes a decision to accept or reject of joining in the group.When the following vehicle leaves the group, the following vehicle transmits a request message to preceding vehicle.The preceding vehicle makes the group profile again without requested following vehicle.When the preceding vehicle leaves the group, the first following vehicle be a new preceding vehicle.

B. Coordination and Tracking Algorithm
Fig. 4 shows a process flow of the proposed system for the preceding vehicle.Time and position of the preceding vehicle is received from the GNSS receiver module in the DGNSS mode which is the SBAS type.The GNSS receiver output several massages of the National Marine Electronics Association (NMEA) 0183 format.Time, position and fix related data of the receiver, the GNGGA message is used for calculation in the algorithm.On the other hand, current heading angle is measured by the digital compass module.The heading angle is corrected -7.3 degrees due to influence of local magnetic field in the Tokushima prefecture, JAPAN [18].Coordinate from the GNSS receiver is converted to the degree format.Vehicle velocity and throttle is checked by the system.All status of the preceding vehicle is transmitted to the following vehicle and monitoring server.The system updates position and control command every 0.2 second periodically.Fig. 5 shows a process flow of the proposed system for the following vehicle.The current time and position of the following vehicle are received from the GNSS receiver module in the DGNSS mode which is the SBAS type.Simultaneously, The status massage of the preceding vehicle is received via a wireless data networking device.In the same way as the preceding vehicle, current heading angle is calculated by the digital compass module.Relative distance and angle are calculated on the bases of each position of two vehicles.The relative distances is calculated by (1).
where, s is the relative distance which can be calculated from difference in longitude x p−f and latitude y p−f .y f is the latitude of the following vehicle.r is the radius of the earth as approximately 6378.137 km.α denotes the relative angle which can be calculated by (2).
If the relative distance is longer than the target distance, system increases velocity by throttle control.Otherwise, system reduces velocity until reaching at the target distance.The steering angle is controlled by comparing target angle with current angle.Update period for the position is set to 0.2 second.Calculation period for direction angle and vehicle velocity is set to 0.01 second approximately.

C. Driving Termination Algorithm
The group driving could be terminated by the GNSS receiver fault, relative distance, relative heading angle.If the GNSS operation mode in DGNSS SBAS, positioning data is available, and used to calculation for driving.On the other hand, in the case of the GNSS operation mode in 2D or below, the positioning data is not available.The system converts current latitude to 99 degree and current longitude to 199 degree for processing coordinate to invalid.Therefore, the driving is terminated by invalid coordinate.If the relative distance is over 110 m, the system terminates driving.The system limits maximum velocity to 200 km/h.In this case, the safety relative distance between preceding vehicle and following vehicle is approximately 110 m [19], [20].Thus, considering the safety distance and many type of vehicle, the maximum relative distance is limited to approximately 200 m.If the relative heading angle is over 90 degrees, system terminates the driving.The reason why, the vehicle drives in reverse or the reverse direction with high probability.

III. POSITION CORRECTION METHOD
In order to improve positioning reliability and stability, each of the position is corrected by the proposed position correction algorithm which is based on vehicle dynamics [21].Current velocity and heading angle are measured by velocity and heading angle feedback of the system.Thus, next coordinate prediction is possible by measured absolute values and current coordinate.When vehicle driving, the system compares the GNSS value and system feedback value.Therefore, the impossible movement is corrected by the algorithm.When vehicle stopping, the correction algorithm averages coordinates, and current coordinate is changed to the averaged coordinate that in order to stabilize positioning.The correction algorithm is simulated that in order to evaluate usability.

A. Correction Algorithm in Driving
When the vehicle driving, the system calculates current velocity and heading angle from the system status feedback.Simultaneously, current velocity and heading angle are calculated by trajectory which is recorded by the GNSS.Subsequently, the system compares the calculated values by the GNSS with the system feedback.If the difference of heading angle is over 17.5 degrees, coordinate is corrected by correction (3).The reference angle is determined by the turning characteristic of vehicle dynamics.In addition, distance of the trajectory is corrected by velocity comparison.Where, x and y are the longitude and the latitude.x and y are the corrected coordinate which can be calculated by the coordinate rotation equation in triangular function.x p and y p are the latest coordinate which excepts current measured coordinate by the GNSS.x c−p and y c−p are the longitude and latitude variations between current and past coordination by the GNSS without correction.θ denotes the difference angle.k denotes the velocity rate which is divided value of absolute velocity with calculated velocity by the GNSS.

B. Correction Algorithm in Stopping
When the vehicle in stopping, absolute coordinate never be changed.Thus, the system averages 100 coordinates for position stabilization during 20 seconds with 0.2 second sampling rate.The reason why, conventional waiting time for traffic signal is least 20 seconds in normal traffic [22], [23].Furthermore, the coordinate is changed maximum 10 cm in one sampling of the GNSS receiver module which is implemented in the system.In that case, if averaging over 100 samples, coordinate is changed less than 1 mm at the last averaging.Therefore, the correction algorithm averages latest 100 coordinates, and current coordinate is changed to the averaged coordinate.If the vehicle stopping under 20 seconds, the algorithm averages every coordinates until vehicle started to moving.

IV. EXPERIMENTAL SETUP
A. Constructed Small Scaled Vehicles Fig. 6 shows appearance of constructed small-scale vehicles implemented the proposed semi-self-driving system.In the experiment, the vehicle A is used for preceding vehicle, B and C are used for following vehicle.The vehicle is constructed by a main circuit, a GNSS antenna, a GNSS receiver module, a digital compass, servo motors for the steering wheel and throttle control, a DC motor for driving wheels, a DC motor driver and a 7.2V Ni-MH battery.The main circuit is constructed by microprocessor, wireless communication module and power supply.Configuration of the preceding vehicle and following vehicles is the same.Fig. 7 shows a hardware configuration.The GNSS active antenna (SAN JOSE DS-28) is installed on the aluminum roof of the body.The GNSS receiver module (u-blox CAM-M8) based on u-blox M8 chipset is performed with 5 Hz position updating cycle.The digital compass module (HONEY-WELL HMC6352) has a precision performance of 0.1 degree increments.For the wireless communication module, MAX STREAM XBee Pro is installed.Communication distance of the module is approximately 1 km under the clear channel condition.The microprocessor (ATMEL Atmega64L) calculates the vehicle speed and steering angle.Position and status of the vehicles are transmitted to following vehicle and the monitoring PC simultaneously.B. Setup for Tracking and Approaching Test 1) Environment: Fig. 8 shows the experimental environment where a track is constructed in the form of vertical and horizontal 20 m square, and each corner and the center position are marked with orange rubber corns.The experiment was carried out on the ground under the sunny day with open sky condition.Here, the digital compass is calibrated before the experiment.
2) Procedure of the Tracking Test: The preceding vehicle is manipulated to the point 1-2-3-4-1 constant velocity.The following vehicle automatically drives with tracking to the preceding vehicle continuously.Trajectory of each vehicle is recorded by the monitoring server.
3) Procedure of the Approaching Test: First, the first following vehicle drives with tracking to the preceding vehicle, and the second following vehicle tracks to the first following vehicle.Second, the preceding vehicle stops on the center point of the track.If the relative distance under the GNSS data is shorter than 30 cm, following vehicles are stopped immediately.At that situation, the actual relative distance is measured.An example of actual relative distance measurement is shown in Fig. 9.The reference of the measurement is center of the GNSS antenna on vehicle.Simultaneously, relative distance by the GNSS is recorded in monitoring server.The position error is calculated by these two distances.The experiment was conducted in total of ten times.2) Procedure of Position Error Measurement: Fig. 11 shows the setup of position error measurement.The vehicle A is allocated on the center of the triangular point.The other vehicle is allocated on 5 m away point from the triangular point.Positions of both vehicles are measured for 3 hours.The position error is calculated by one dimension Root Mean Square (RMS) method [24].It is possible to evaluate the accuracy of relative position.GNSS data.However, it is noted that the absolute trajectory has positioning errors more or less than 100 cm against the GNSS data.

B. Approaching Test
Position errors between the relative distance calculated by the GNSS and the actual relative distance for each test are listed in Table I.Maximum, minimum and average distance errors between the preceding vehicle as A and the first following vehicle as B are 54 cm, 0 cm, and 29.8 cm, respectively.Maximum, minimum and average distance errors between the first following vehicle as B and the second following vehicle as C are 54 cm, 3 cm, and 30.4 cm, respectively.Test result of two cases are similar each other.Note that the test was conducted under the GNSS receiving status which Horizontal Dilution Of Precision (HDOP) is average 0.6 approximately.
Position Error Measurement Fig. 14, 15 and Table II show the measurement results of the position error.Average position error in independent measurement is approximately 160 cm.On the other hand, average position error in relative measurement is decreased to 53 cm (-68.8%).The RMS 1σ means that 68.3% position errors are occurred smaller than the 1σ value.The RMS 1σ error is approximately 215 cm in independent mode, and 98 cm (-54.4%) in relative mode.The RMS 2σ means that 95.5% position errors are occurred smaller than the 2σ value.The RMS 2σ error is approximately 266 cm in independent mode, and 139 cm (-47.7%) in relative mode.From these result, significant improvement of the GNSS position accuracy has confirmed in the relative positioning mode.

A. Result of Correction for Driving
The simulation results of correction algorithm for driving are listed in Table III.Least 24.24% of coordinates are corrected by the algorithm.Correction distances are distributed 0.17 cm to 42.68 cm, and average correction distance is 14.13 cm in the one sampling.Fig. 16 shows the correction simulation result of vehicle A as the preceding vehicle.In the result, when the vehicle drives in curve course, the more coordinates are corrected than straight line course.

B. Correction Result for Stop
The simulation result of correction algorithm in stopping is listed in Table IV  algorithm which averages latest 100 coordinate samples in stopping.However, the mean values of the single mode are slightly decreased or not decreased.From these result, improvement of position accuracy has confirmed by correction algorithm for stopping in the relative mode.

VII. CONCLUSION
This paper proposed a semi-self-driving system with GNSS using a relative distance between preceding and following vehicles.In addition, vehicle dynamics based on correction method has applied to system.To ensure the validity of the proposed system, several experiments and simulations were conducted.As a result, the proposed self-driving system implemented in the follower vehicle performed successfully for both approaching to several fixed destinations and tracking to moving preceding vehicle.Furthermore, according to the result of simulation, the positioning accuracy and precision has improved by correction algorithm which is based on the vehicle dynamic.Although the remaining absolute position error of the GNSS data, the measurement accuracy of the relative distance between the vehicles was improved.
In the future, we will improve the performance of position correction algorithm to realize a complete self-driving system with autonomous preceding vehicle.

Fig. 1 .
Fig. 1.Accuracy and the precision in two dimension.

Fig. 5 .
Fig. 5. Process flow of the following vehicle.

Fig. 12
Fig. 12 and 13 show tracking performances for the moving preceding vehicle.The following vehicle B could track on the trajectory of the moving preceding vehicle A under the

Fig. 12 .
Fig. 12. Trajectory of the preceding vehicle in the tracking test.

Fig. 13 .
Fig. 13.Trajectory of the following vehicle in the tracking test.

Fig. 16 .
Fig. 16.Correction result of the vehicle A in driving.

Fig. 17 Fig. 17 .
Fig. 17 and 18 are show detailed view of A1 point and A2 point in Fig. 16.The side draft is corrected by the algorithm in the straight line course at the point of A1.The overshoot is corrected by the algorithm in the curve course at the point of A2.

Fig. 19 Fig. 18 .Fig. 19 .
Fig.19shows the correction simulation result of vehicle B as the following vehicle.Likewise with vehicle A, when

Fig. 20
Fig. 20 and 21 are show detailed view of B1 point and B2 point in Fig. 19.The overshoot is corrected by the algorithm in the curve course at the point of B1 and B2.

Fig. 20 .
Fig. 20.Coordinate correction of vehicle B in the curve course B1.

Fig. 21 .
Fig. 21.Coordinate correction of vehicle B in the curve course B2.

Fig. 22
Fig. 22 shows normal distributions comparison of normal positioning and positioning with correction algorithm in stopping.The distribution curve of corrected positioning shows more narrow distribution band than normal positioning.It means that the positioning precision is improved by the correction method.

Fig. 22 .
Fig. 22. Distributions of RMS error by correction algorithm in stopping.