An extended analysis on tuning the parameters of Adaptive Monte Carlo Localization ROS package in an automated guided vehicle

With a growth tendency, the employment of the Adaptive Monte Carlo Localization (AMCL) Robot Operational System (ROS) package does not reflect a more in-depth discussion on its parameters’ tuning process. The authors usually do not describe it. This work aims to extend the analysis of the package’s parameters’ distinct influence in an automated guided vehicle (AGV) indoor localization. The experiments test parameters of the filter, the laser model, and the odometry model. Extending the previous analysis of seven parameters, the present research discusses another ten from the 22 configurable parameters of the package. An external visual vehicle pose tracking is used to compare the pose estimation from the localization package. Although the article does not propose the best parameter tuning, its results discuss how each tested parameter affects the localization. The paper’s contribution is discussing the parameters’ variation impact on the AGV localization using the covariance matrix results. It may help new researchers in the AMCL ROS package parameter tuning process. The results show minor changes in the default parameters which can improve the localization results, even modifying one parameter at a time.


Introduction
A laser scanner with an automated guided vehicle (AGV) improves its navigation possibilities. With the adequate techniques, it turns the AGV into an autonomous vehicle. Such a characteristic also brings flexibility to a manufacturing site. Nevertheless, the localization method is decisive to the navigation system performance. In the literature, one can find several solutions to the localization problem. However, it is not a closed issue.
The Robot Operating System (ROS) has been massively used in R&D projects in the last decade, and its use in product development and commercialization has likewise expand-ed [1,2]. The developers' community displays a relatively large number of packages -containing specific algorithms, nodes, messages -for free use and improvement. The Adaptive Monte Carlo Localization (AMCL) [3] is one of the reference packages, very common in the literature. The package contains a well-known localization algorithm, which was implemented and tested in several pieces of research. Also, being available in ROS speeds up its application due to the code reuse and the community support. Nevertheless, there is always room for improvement in the package, as Section 2 shows.
The AMCL ROS package has 22 configurable parameters from a total of 47. The parameter tuning is a combinatorial problem given the high search space due to the number of configurable parameters and their interaction [4]. The package parameter description does not further analyze the parameter adjustment effect, giving little information on the default values. Also, the research that uses the package usually does not disclose the tuning process or demonstrate how the tuned parameters impact the robot localization. The discussion of parameter adjustments is relevant, given the increasing use of the localization package and the few available materials discussing the parameters tuning.
This paper expands the previous analysis, describing the methods and results to guide the utilization in another robot, and pointing out the parameters that most influence the localization for a more punctual and more direct adjustment, leaving the default tuning. It aims to present the effects of the AMCL ROS package's parameter variation on AGV localization, which are commonly not discussed in papers. The study also elaborates on the analysis using both the covariance matrix and an external measurement to compare the AGV's estimated localization.
The paper is organized as follows: Section 2 presents a review of related works and Section 3 extends the AMCL ROS package parameters description from [5], and discuss the pose covariance matrix. Section 4 describes the hardware and software used in the experiments, also defining the data presentation and the analysis metrics. Section 5 defines the experimental setup, while Section 6 presents and discusses the experiments results. Finally, Section 7 is the work conclusions and future work.

Related work
A brief search in the literature shows the increase in publications in both the Adaptive Monte Carlo Localization Algorithm research and using the same algorithm through the ROS package. Since it is not the aim of the present work, the bibliography research is not an exhaustive search and does not intend to represent the state-of-the-art matter. Using Scopus and Web of Science research databases, Fig. 1 shows the research evolution in both domains.
The graph of Fig. 1 shows the increase in such publications. Restricting the application field to the ROS AMCL package domain -using the search string "ROS" and "Monte Carlo" and "Localization" -the databases returned 55 works. Moreover, the number of publications is also increasing, following the first -and more comprehensive -search.
Among the works related to the AMCL ROS package, most simply apply the tool. For instance, [13] implement a mobile robot navigation control system using the AMCL package in a mobile service robot and applying AMCL as a standard package, [14] present a ROS-based framework for navigation algorithms testing.
Other researches that use the AMCL package are [15][16][17][18][19]. The cited authors do not discuss the AMCL parameter tuning, despite showing robot localization in the navigation systems. Deviating from the previous authors, [20] applied the ROS navigation stack, including the AMCL package, in a Data Center environment monitoring service robot. The paper discusses some parameters tuning, for instance, a laser-related parameter that considers glass-covered racks surfaces.
Other researchers look to improve the package. For instance, [21] present an improvement to the algorithm proposing a new laser beam observation model. The method ignores laser beam measurements with highly correlated noise. Therefore, reducing the computational cost of the algorithm. Likewise, [22] demonstrate an observation model combining the laser-based grid map localization with visual landmarks acquired by an omnidirectional camera.
Stahl et al. [23] present a LiDAR-based localization at high speeds. Besides the resampling frequency, the work proposes a novel method for LiDAR single beam angular displacement and introduces rotational noises related to the current car speed. de Miguel et al. [24] proposed an improvement on autonomous vehicle localization enhancing the weights of the AMCL filter particles by adding Kalman filtered Global Navigation Satellite System (GNSS) information.
Concerning the parameters tuning, [25] discuss the influence of the number of AMCL filter particles in navigation accuracy. It shows that the number of particles must be adjusted to the environment since the robot end position accuracy does not increase with the number of particles increase. Still, [26] gives an overview of the ROS navigation stack parameters tuning, including AMCL, but the work performs a brief qualitative analysis on a few parameters.
The works of [27] and [4] propose automatic tuning tools of the AMCL node parameters based on optimization methods. However, the focus is not on studying the effects of the robot localization parameters but on the optimization methods' performance. The related works show that although the increasing use of the AMCL ROS package, no further attention was given to its parameters tuning and its influence study.

ROS Adaptive Monte Carlos Localization package
The AMCL ROS package [3] is a localization algorithm based on the algorithm proposed by [28], known as Kullback-Leibler Distance Sampling Monte Carlo Localization. It adapts the number of particles used in pose estimation during its execution, depending on the system states. If the robot position is uncertain, the number of particles is wide, aiming to cover all possible robot states [4]. If the position uncertainty is low, the algorithm reduces the number of particles, which increases the algorithm efficiency.
In addition to the robot pose estimation, the AMCL ROS node also returns a covariance matrix related to it. As presented in [5], it is a 6-by-6 matrix constructed over the covariance of each pose variable related to the others. We consider σ 2 x , σ 2 y , and σ 2 θ as the metrics to measure the influence of the parameters changing, ignoring the remaining values -as explained in [5].

Parameters description
Comparing to the results in [5], this paper refers to the allowed range of particles for the filter (min particles and max particles), the number of equally spaced laser beams used in the likelihood function (laser max beams), and the minimum translational (update min d) and rotational (update min a) distances the robot travels before a filter update parameters. It aims to analyze the previous results with the external measurement of AGV position. Of the 47 parameters of the package, 22 of them are configurable. Together with the previous work, 17 parameters are tested and have their results compared.
The previous work [5] explored seven of them and this research extension examine other 10 parameters. The AGV control node sets initial pose parameters to a predefined value (initial pose x= 0; initial pose y= 0; and the yaw angle, initial pose a= π/2), letting the covariance values of position as initial cov xx= 0.25 m, initial cov yy= 0.25 m, and the yaw angle initial covariance value as initial cov aa= 0.06 rad, as default.

Overall filter parameters
The kld err parameter defines a threshold error between the maximum likelihood estimate and the actual true density. The Kullback Liebler Divergence is a measure of the difference between two probability distributions. So, the parameter determines the maximum divergence accepted between the maximum likelihood estimate and the actual true density. In the experiments, the kld z parameter was also adjusted. It has the form of (1 − p), where p is the probability that estimated distribution error is lower than the kld err value [3].
The parameter recovery alpha slow "is a decay rate for the exponential filter that estimates the long-term average" [29]. The recovery alpha fast is the decay rate for the short-term average estimation, likewise. The parameters are used in deciding when to recover the pose estimation by adding random poses in the map. Yet [29] states that "if the short-term likelihood is better or equal to the long-term likelihood, no random sample is added". However, if the first likelihood is worse than the second, then random samples are added.
The resample interval parameter defines the number of filter updates needed before resampling. This algorithm step resamples the particle from the previous particle set but is now weighted by the posterior belief function.

Laser model parameters
From the laser model category, the present research explores laser z hit and laser z rand parameters, used by the likelihood field laser model, which is the default laser model of the AMCL package. The parameters are weights of a weighted average that considers two types of measures noises: a local measurement noise and the random measurements. Due to several influences, like the limited resolution of the range sensor [29], different surfaces, and atmospheric effect on the signal, a range measurement has an intrinsic error. The laser z hit parameter weights that noise, which is modeled by a narrow Gaussian with the mean in the "true" range value.
From [29], range finders sensor sometimes provide unexpected random measurements. Such measurement noise is modeled as a uniform distribution covering the entire sensor measurement range. The laser z rand parameter weight Fig. 3 The differential drive AGV is equipped with a Hokuyo laser scanner used in the experiments. Over its platform, one can see the circle-shaped tags used to identify the AGV for external tracking the noise distribution. Since the laser model uses a weighted average of the two noise distributions, laser z hit + laser z rand = 1.

Odometry model parameters
And from the odometry model category, the paper studies the impact of the odometry correction by changing the odometry model (odom model type), and the expected noise parameters concerning the robot movement odom alpha1, odom alpha2, odom alpha3, and odom alpha4. The odom model type parameter sets the odometry model regarding the robot model, differential drive, or omnidirectional drive. However, according to [3], a bug was found in both models generating new options for corrected models. Since the AGV odometry model is a differential drive, for now on, the paper only refers to that model regarding the odometry. The default value of the parameter is the uncorrected model, which was used in [5] and the tests of the present work. Using the corrected model, the odometry noise parameters' values differ from the default values of [3]. The noise parameters, odom alpha from 1 to 4, represent the estimate of odometry rotational noise caused by the rotational and translational components of the robot, and the odometry translational noise caused by the translational and rotational components of the robot, respectively. These parameters influence the particles spread regarding the AGV axis.

Materials and methods
The research uses a differential drive AGV in a controlled and known environment to test the AMCL ROS package parameters' influence over the robot localization. For each experiment, at least three trials were conducted. The first step was mapping the environment using the GMapping ROS package, generating three laser-based maps with different resolutions. To extend the previous work analysis, the subsequent experiments use the lower resolution map. For each parameter, or groups of related parameters, and with the others as default, we conduct the AGV localization trials. To minimize the effect of other ROS nodes interacting with the AMCL node, we programmed the AGV with an open-loop trajectory, controlled by kether control ROS node. Figure 2 shows the AGV trajectory. The path length is approximately 5.3 m. The AGV takes 45 s to cover it.
The robot also starts the trials from the same region on the map with a minor variation because of the robot

Hardware and software specifications
A differential drive AGV is the testing platform of this paper. It has a Hokuyo URG-04LX laser scanner and a 3-channel digital incremental encoder in each DC motor RE-max 29 226802, the AGV actuator. Two EPOS 24/5 dc motor driver commands the motors. Figure 3 shows the AGV. It is also equipped with a webcam, but it is not used in the experiments.
For the experiments, we used a portable computer with an Intel Core i7 7th generation, with 8 GB RAM, and an Nvidia Geforce GTX 1050Ti GPU, running Ubuntu 16.04 LTS with ROS Kinetic Kame. The computer communicates with the AGV by a USB cable, writing the speed commands to the motors drivers and reading the sensors: the laser scanner and the motors encoders. Figure 4a shows the transformation tree of the system coordinate frames and 4b the ROS nodes and ROS topics. The transformation tree allows the laser scanner measures into the map frame coordinates.

ROS architecture
The /map server node (Fig. 4b) reads the map file and publishes it on the /map topic. The system uses the urg node to read the laser sensor data and publish the measured distances on /scan topic. The /laser link node calculates a frame transformation from the AGV base frame to the sensor frame. Finally, the /kether control node control the AGV motors and read its encoders. The AGV has a visual tag on the same coordinates of the AGV base link frame to identify its movement and track its position by an external measurement system. The /amcl node publishes the AGV initial pose to the /initialpose topic. It subscribes to the /scan topic to read the laser scanner measurements, to the /tf topic to read the coordination transformations, and to the /odom topic to read the robot odometry used to estimate the AGV pose. A ROS launch file was used to run the architecture, defining each trial's parameters' values. Table 1 shows thecentral parameters default values and the rationale for their consideration. Figure 5 shows the behavior of the covariance values with the default localization node parameters. It is used as a pattern to compare the results of the parameter variation. Likewise, the map plots include the standard deviation of the AMCL pose estimation for xand y-axis, as Fig. 6 shows. Also, Fig. 6 shows the AGV vision-based external tracking pose estimation for comparison. The standard deviation of the position was suppressed to does not pollute the plot.

Data presentation
Section 5.1 explains the vision-based external measurement system. In the same way that Fig. 5 shows the mean value of variances, Fig. 6 shows the average pose estimation and average external tracking pose estimation. The same goes for the standard deviation.

Experimental setup
The experiments were conducted in a walled portion of our laboratory (Fig. 7a), with 2.70 by 1.80 m, approximately, with obstacles to avoid the localization ambiguity. For each trial, we recorded a ROS bagfile with the published topics, also recorded a video from a camera in the ceiling    for posterior processing (Fig. 7b), and the localization visualization in rviz (Fig. 7c). Each parameter configuration was tested and recorded at least three times, and the following graphs present their mean values. If the standard deviation is small or pollutes the plot, it is suppressed without loss of information.

External AGV tracking using a vision-based system
The tests were recorded with a Microsoft LifeCam HD-3000 fixed on the ceiling. Figure 8 shows the distance between the camera sensor and the AGV tags plane, and the camera sensor field of view angle, as well as the size of the generated image, in pixels. With this information and using the approach of [30], one can calculate the equivalent distance value, in meters, per image pixel. Thus, the visionbased external tracking system measures the AGV pose in the environment. This work considers the vision-based external pose tracking the most accurate localization measurement to compare the AMCL ROS package pose estimations. The external tracking system employs python 2.7 code language, and OpenCV 4.0.0, NumPy, among others, libraries to post-processing the video recording. So, it is an offline localization. The algorithm processes a video frame from the AGV environment, measuring the vehicle position and θ angle related to the origin point of the image, the superior right corner, as Fig. 9 shows. To speed up the imageprocessing and correct the frame perspective, the system user sets four points collinear pairwise. In our case, these are the floor corner points of the walled arena. After setting these points, the algorithm corrects the image perspective and crop it, leaving only the interest area.
The image processing method uses the HSV color space to identify the tags fixed on the AGV platform. This color system shows advantages when working with images that suffer from the environment lighting variation. The algorithm creates an image mask over the pixels with the  Fig. 12 AMCL pose estimation results of minimum translational and rotation movements before a filter update parameters, compared with the default parameters result and the external pose tracking, using the best results from [5] chosen color tags to detect it. After the detection, the tags' positions are determined. Note that it is still possible to define to AGV position with a single tag, but not its orientation. That is why the AGV has a blue and a red circle tag. Finding the center of each circle tag, considering the red circle on the AGV right side when it drives forward, the system measures its θ angle. The AGV position is the median point of the line linking the tags centers. The θ angle is given by the perpendicular line that crosses the position point. Thus, for each frame, the algorithm returns the AGV position and angle from the origin of the image, as shown in Fig. 9.
Observing Figs. 5, 6, 7c and 9, one can note the Cartesian coordinate system of the laser-based maps diverges from the one of AGV vision-based external tracking system. GMapping fixes the map's origin at the beginning of the AGV mapping when the odometry is null. So, a linear transformation was necessary to converge the AMCL estimated pose and the external AGV tracking Given the matrix D (Eq. 1) and the rotation matrix R (Eq. 2), Eq. 3 shows the linear transformations to obtain the pose values on the same Cartesian coordinate system of the map created using GMapping. The transformed pose coordinates are x , y , in meters, and θ , in degrees; d p = 0.0047 m/pixel is the equivalent distance per image pixel, which was found according to [30]; o x , o y , and o θ are the original coordinates of the mapping step; x p and y p are the AGV position in pixels, and θ p is the θ angle related to the frame coordinate axis.

Results and discussions
The section presents and discusses the results of the experiments, separated by the parameter category. To extend the analysis of [5], it provides some new experiments with the best previous results. In the following graphs The standard deviation of the external AGV tracking pose average pollutes the plot due to the number of data points, so it is also suppressed. Table 2 presents a summary of the experiments' parameter adjustments -the next sections present only the variation of the correspondent parameter or set of parameters. The remaining parameters maintain the default value.

Comparison to the previous results
The best results for the minimum and the maximum number of filter particles in [5] were the range of 2000 to 5000 particles. Figure 10a shows the results in the positions and θ covariance averages. This range did not present significantly better results for the current experiment scenario in terms  Fig. 10b. In [5], the best results for the minimum translational and rotational movement before a filter update was 0.05 and 0.125 m, respectively. Observing Fig. 11, when compared to the default values outcome, it shows a quick convergence with lower average values and lower standard deviation values compared to the default values outcome. Since the lower values of distance increase the filter update frequency, the pose estimation in Fig. 12 shows a smooth trajectory, related to the default estimation. When contrasting to the external AGV tracking (Fig. 12), the pose estimation shows a systematic position error until the moment the AGV maneuver, in the left upper corner of the map, but a close estimation to the AGV localization. After the maneuver, the difference between the default values estimation, the external pose tracking, and the experiment pose estimation increases due to an accumulated error in pose estimation. The odometry correction parameters tuning might help to reduce this kind of error.

Kullback Liebler divergence parameters
The previous investigations show that despite higher values of kld err, parameter led to an oscillation behavior along the AGV path, their covariance curves converge to lower values. Also, it exposes the lower values of the same parameter, 0.001 and 0.005, which had similar behavior as the default, but always above the mean. In this case, the kld z parameter has the default value of 0.99. The current experiment outcomes reestablish the above affirmation. Nevertheless, with the varying kld z parameter, new observations arise. With the lower value of kld err, the kld z variation has a minor influence, as one can see at the detailed graph of Fig. 13, for instance.
Despite the kld z variation, the variance means converge to similar values. As we increase the probability of the error on the estimated distribution which is lower than kld err by decreasing kld z, its outcomes lower covariance values. For the kld err = 0.1, lower kld z values show better pose covariance values. And the same applies to kld err = 0.5 outcomes. The lower the number of kld z, the lower the required number of samples for each sample bin of the particle filter. Thus, the particles resample is less spread and more concentrated around the mean. Figures 14 and 15 show the results for the y position and the orientation angle θ covariance, respectively.
However, despite the difference in covariances convergence, the pose estimation with different parameter values does not significantly differ, although the results are better than the default setting. Fig. 19 a The response of the decay rates alpha slow and alpha f ast considering both equal to 0.001 and 0.01, respectively. b The response of the decay rates alpha slow and alpha f ast considering alpha slow = 0.001 and alpha f ast = 0.01, and alpha slow = 0.1 and alpha f ast = 0.001, respectively. c The response of the decay rates alpha slow and alpha f ast considering alpha slow = 0.01 and alpha f ast = 0.001, and alpha slow = 0.1 and alpha f ast = 0.01, respectively

Filter recovery parameters
To prevent the localization algorithm from failing by getting stuck on a wrong global localization -or recovering after a robot kidnapping -it incorporates two recovery parameters [29]. These parameters are exponential decay rates for the average weight filter used to decide when to recover by adding particles in random poses. "The probability of adding a random sample considers the divergence between the short-and the long-term average of the measurement likelihood" [29]. As default, both recovery alpha slow (α slow ) and recovery alpha fast (α f ast ) are disabled. The higher the α slow and α f ast values, the more likely the algorithm is to include random particles. The alpha parameters multiply a divergence of the weighted average of the measurement model and the short-and long-term average of the measurement likelihood, w f ast and w slow , respectively, resulting in an update in the last two averages values. The rate of the short term and long term determines the Fig. 20 The relative error, for each parameter setting, ignoring the first estimate, which is from a previous pose estimate probability of adding particles in random poses, in the form of max(0.0, 1 − w f ast /w slow ) [29]. Figures 16, 17, and  18 show the covariance matrix results of the α parameters' variation.
Lower values of both parameters show better results of convergence and covariance values. With α slow = 0.001 and α f ast = 0.01, the results also confirm the algorithm need of 0 ≤ α slow α f ast , when both parameters are enable. Figures 19, 20, and 21 compare the externally measured AGV pose with the estimated one. The first one compares the AGV angle estimates. According to the relative θ error, calculated by the difference between the AMCL pose estimation and the externally measured angle, one can conclude greater values of the alpha parameters result in better angle estimates when the AGV is turning -when the angle graph is an increasing or decreasing slope. When the AGV draws a straight-line movement, with minimal angle variation, the parameter settings show a similar estimation. Figure 21 shows the map plots that compare the default parameter values positions x and y average and the standard deviation of each axis, the AGV external position tracking, and the AMCL position estimation.
Although the plots show similar results, in visual inspection, it is possible to observe the influence of the increasing number of particles in random poszes in trials with greater alpha parameters' values. It degrades the pose estimation as Fig. 21e and f show, for instance, compared to Fig. 21a, b, c, and d. The estimated localization in the last two maps, e and f, present a greater error related to the external measurement. Observe the three estimated points at the top of the map to see their difference.

Resample interval parameter
Changing the resample interval parameter implies changing the number of needed filter updates before resampling and revising the estimated pose outcome. Figures 22,23,and 24 display the behavior of the covariance matrix value to the resample interval change. Although the tested values lead the covariance values to lower values if compared to the default parameters, the higher the resampling frequency, the quicker the covariances converge.
For resample interval = 1, for every filter update, the algorithm also resamples the particles. It generates the maximum number of pose estimates. Observe the blue solid   The θ estimation covariance results under laser z parameters' variation movement before a filter update parameters in Fig. 12. With the resample interval parameter equals to four, the AGV position uncertainty increases (see Fig. 25b). The same behavior does not occur to the resample interval equals eight. However, with higher resample values, the estimated position values do not recover the path traveled nor show a good approximation, as Fig. 25c shows.
The results show a need for a trade-off between the resample interval (and other parameters that increase the filter update rate) and the filter processing computational cost depending on the AGV application. Further, the resample parameter affects the resolution of the estimated trajectory using the localization estimation points. If the AGV works in small spaces or travels short distances, using a high value of resampling interval may lead to information loss.

Extended comparison
In [5], the best result for the number of laser beams parameter was 512 -the maximum value of the AGV laser scanner -beams. The parameter defines how many equally spaced beams of laser scanner the measurement model of the AMCL algorithm uses. In calculating the samples weight step of the AMCL ROS package, the algorithm determines the range of each laser beam to fit it into the knowing map, testing if it is a random measurement, or an unexpected obstacle, or a failure in a sensor measurement. The experiment results reaffirm the previous ones, as Fig. 26 show the increase of the number of beams reduces the covariance value in the AGV position regarding the default values.
Comparing the results with the AGV external position tracking, using a higher number of laser beams improves the position estimates, as Fig. 27 shows. Figure 27 shows the comparison among the AMCL pose estimation with default parameters, the pose estimation using 512 laser beams of the sensor, and the result of the AGV external pose tracking system. Figure 27a shows the localization improvements compared to the default parameter localization, resulting in an estimation closer to the external measurements. Also, the θ estimation, shown in Fig. 27b, has a lower error related to the external pose tracking system measurement if contrasted to the default estimation.

Laser z hit and z rand parameters
The laser z hit and laser z rand parameters adjustment represent the weight of each noise has in the final sensor measures set since its sum must be equal to 1. So, if laser z hit is greater than laser z rand, the weight of the sensor measurement noise is greater than the weight of the random measurement noises. When tuning the parameters, considering the surface's material and characteristics that affect the laser beams measurements is important, as cited by [20]. In the experiments, a gradual increase in the weight of the random measurements and, consequently, a decrease in the sensor measurements noise weight is shown. The parameters default values are ). It occurs because the random measurement noise parameter contributes more to the weighted average, contributing to the estimated localization oscillation. However, the increase of the laser z rand parameter may be beneficial depending on the surface's material of the environment [20], which reflects the laser beams. So it must be considered in the tuning process. One can observe the covariance results do not follow a pattern, indicating the decrease of the laser hit parameter does not mean the proportional increase or decrease of covariance values. It shows the dependence of the environment regarding those parameters tuning. For instance, laser z hit = 0.80 and laser z rand = 0.20 lead to lower theta covariance value and similar values for the position estimation.  Fig. 33 The results of θ covariance under odometry noise parameters' variation However, despite the difference in covariances convergence, the pose estimation with different parameter values does not significantly differ, although the results are better than the default setting.

Odometry model parameters: odometry model correction
As cited in Section 3.1.3, the odom model type has a corrected version. Since several robots and other applications were configured and tuned to the diff model, a new parameter value was included, diff-corrected [3]. Table 3 shows the odometry parameters' values used in this work trials.
The odometry correction A values are the default ones for the corrected model. Comparing its results with the default diff model results, the covariances of both positions and the angle decrease significantly, as shown in Figs. 31, 32, and 33. From odometry corrections B to D, the odom alpha1 to odom alpha4 parameters (odometry noise values) were increased. The positions and angle covariance values follow the parameters increasing, almost in the same ascending order in these situations. It also affects each covariance outcome's standard deviation value and influences the most θ covariance results  (Fig. 33). Figure 34 shows the map plots of the corrected odometry.
Analyzing the map plots in Fig. 34, one can observe that the odometry corrections positively affect the AMCL pose estimation compared to the default estimation and the external tracking system measurements. From the other experiments' outcomes, the last part of the AGV path -the last left turn, straight line, and a right turnaccumulates an error on the pose estimation repeatedly. The corrected model improved the localization estimate, given similar results to the external tracking outcomes. Also, observe the increase of odometry correction parameters decreased the uncertainty of pose estimation. Figure 34b, c, and d present smaller uncertainty crosses on estimated localization points compared to Fig. 34a. Moreover, it improves the θ estimates, as shown in Fig. 35, decreasing the error regarding the default parameter values. Note that the default parameters are the corrected default parameters.

Conclusion
This research extends the analysis of the distinct influence of AMCL ROS package parameters in AGV localization. Besides extending the previous work discussions, its contributions present a vision-based external AGV pose  Fig. 35 Comparison between the externally detected θ using the vision-based system and the AMCL estimated θ , for each parameter setting. The bottom graph shows the relative error for each parameter setting tracking and compare the laser-based estimated localization with a visual-based system. We performed the experiments in a controlled environment, and the AGV ran the same path to enable comparison against the parameter variation. In the publications altogether, seventeen package parameters were tested and discussed. Even so, the work does not intend to establish a tuning method or a better set of parameter values, but to demonstrate its influence, showing each parameter behavior. The analysis of the covariance matrix behavior is not seen in the literature, although it can help the parameter tuning process. Also, as seen in the results' presentation, using an external measurement system can help parameter tuning. It is unnecessary to adjust all the seventeen parameters to start using the AMC ROS package, but the paper increases the source to understand what to tune if need.
The results of the paper are limited to a single parameter variation at each trial and a small controlled environment. A fractional factorial experimental design is recommended as future work to analyze the correlation of the parameters regarding the localization result. Also, to investigate the impact of the parameters in computational resource use is a future work, aiming to define the impact the localization algorithm parameters may have in a lower level positioning control loop of the AGV. Another future work may also discuss the impact of the map resolution, the sensor model, and the geometrical constraints of the AGV and the environment in the AGV localization and pose estimation.