# Use of a Weighted ICP Algorithm to Precisely Determine USV Movement Parameters
## 2 Evaluation of the Accuracy of Determining the Coordinates of a Position Using LIDAR
### Weighted Matching Point Clouds Using the Mean Direction Error
The measurements were carried out on a USV sailing with a speed of approximately \(1.2\frac{\mathrm{m}}{\mathrm{s}}\) (2.4 kts) over a trajectory of approximately 220 m, as presented in Figure 10. All data was collected via a mobile computer wirelessly connected to AUSV (autonomous unmanned surface vehicle, see Figure 11.). While the USV was sailing, the on-board computer synchronously recorded (when generating a full scan using LIDAR) the measurement results making up the so-called data sets containing: a LIDAR scan (in the form of a measurement set \(\mathbb{Z}=\{(r_{1},\alpha_{1}),\ \ldots,(r_{n},\alpha_{n})\}\)), NMEA messages with the position coordinates of SOG and COG (course over ground) from the GNSS RTK receiver [50]. 865 data sets were thus collected by recording each subsequent sets every 0.2 s on average, i.e., after a change in the USV position by approx. 0.25 m.

Analysis of the Accuracy of Determining the COG and SOG Using a Modified ICP Algorithm

Table 1 presents statistical parameters (i.e., the mean value, standard deviation and the maximum value) which characterize the computational accuracy of each parameter. The following acronyms were used to describe ICP's variants: K_ICP for algorithm without modification, H_ICP for robust version based on [PERSON]'s function, HM_ICP for robust version based on [PERSON]'s function with mean error weighting and HD_ICP for robust version based on [PERSON]'s function with directional error weighting. The lower index ICP was used for values computed by ICP algorithm's variants and lower index R was introduced to point the values surveyed with GNSS RTK receiver. A comparison of the parameter values (obtained based on 865 collected data packets) listed in Table 1 shows that the HD_ICP algorithm was the best in terms of the accuracy of determining the USVs movement parameters; it is followed by HM_ICP, H_ICP and K_ICP. Figure 12 shows a graph of SOG_ICP-SOG_R differences. Figure 12 shows that the accuracy of determining the SOG using the K_ICP method significantly decreases for scans in the intervals of \(\left\langle 220,\ 365\right\rangle\) and \(\left\langle 720,\ 825\right\rangle\). These scans differ significantly from each other in rotation angles and include a greater number of erroneous measurement results than the others. This is undoubtedly due to the turns made by the USV at that time. The accuracy of determining the SOG using the other methods is, at the same time, considerably higher. These methods probably achieve that through the attenuation of measurements with gross errors using Huber's function. The HD_ICP method proved to be the best in determining the SOC in a significant part of the graph course. This was also confirmed by the lowest values of the mean error, equal to \(-0.007\frac{\mathrm{m}}{\mathrm{s}}(-0.014\ \mathrm{kts})\) and of the standard deviation, equal to \(0.026\ \frac{\mathrm{m}}{\mathrm{s}}\ (0.05\ \mathrm{kts})\) presented in Table 1.

\begin{table}
\begin{tabular}{c c c c c c c} \hline \hline  & \multicolumn{2}{c}{**Mean Value**} & \multicolumn{2}{c}{**Standard Deviation**} & \multicolumn{2}{c}{**Maximum Value**} \\ \cline{2-7}
**Method** & \(\mathbf{SOG_{ICP}-SOG_{R}}\) & \(\mathbf{\Delta\text{COG}_{ICP}-\text{ACOG}_{R}}\) & \(\mathbf{SOG_{ICP}-SOG_{R}}\) & \(\mathbf{\text{ACOG}_{ICP}-\text{ACOG}_{R}}\) & \(\mathbf{\text{SOG}_{ICP}-\text{SOG}_{R}}\) & \(\mathbf{\text{AC



The histogram representing the frequency of occurrence of \(\mathrm{SOG_{ICP}}-\mathrm{SOG_{R}}\) differences, presented in Figure 13, shows even more clearly that in terms of the accuracy of determining the SOG, the HD_ICP method is better than the others. Most of the values of \(\mathrm{SOG_{ICP}}-\mathrm{SOG_{R}}\) differences, determined using the HD_ICP, HM_ICP, and H_ICP methods, fall within the interval of \(-0.05\)-\(0.05\).