Nonparametric Bootstrap Technique to Improve Positional Accuracy in Mobile Robots With Differential Drive Mechanism

Wheeled mobile robots (WMRs) inevitably experience positional inaccuracy, which is caused by a number of factors including design imperfections, problems with component fabrication, sensor errors, and electromechanical malfunction. We have previously proposed an odometry-based technique that reduces positional inaccuracy in WMRs driven with standard wheels. This technique combines high sampling rates and short-term accuracy, and calculates necessary lateral and longitudinal corrections by using linear regression to model the relationship between positional inaccuracy and angular velocities of the robot’s wheels. This technique can do so without the precision of measurement required by other techniques. In this paper, we discuss how a nonparametric bootstrap approach can be used to find both interval and point estimates of the modified angular velocities required to alleviate the positional inaccuracy of the WMR. First, the robot travels along a path recommended by the odometry-based error reduction technique. Then, the positional and angular errors of the robot at the stop point are measured. Next, these measurements are used to estimate angular velocities, providing the necessary confidence intervals (prediction). Results from these calculations could be incorporated into the robot program to modify the movement along a given path (validation). To show viability, the bootstrap technique was applied to a prototype mobile robot while the robot was programmed to move along an unseen trajectory. Results indicate that, for this typical unseen path, the bootstrap technique is capable of improving real-time positional systematic and non-systematic inaccuracy with acceptable levels of precision compared to the linear regression technique under the normality assumption. The bootstrap technique exhibited better efficacy than the linear regression, therefore, it may be a useful tool to conduct real-time calibration of differential drive WMRs.


I. INTRODUCTION A. CALIBRATION OF WHEELED MOBILE ROBOTS
Wheeled mobile robots (WMRs) are employed in areas as diverse as agriculture, logistics, medical care, home care, planetary exploration, urban transport, surveillance operations, inspection and maintenance, and security and defense [1]. The precision of movement is crucial for WMRs; the robot must be calibrated and any positional inaccuracy The associate editor coordinating the review of this manuscript and approving it for publication was Zheng H. Zhu . improved before field implementation. Therefore, finding effective ways to reduce positional inaccuracy has been a critical task for those working with robotic systems driven with different types of wheels including differential drive, omnidirectional, or caterpillar mechanism [2]. Some of the techniques that have been developed include 3D camera error detection, active beacons, gyroscope, magnetic compasses, and odometry [3]- [7]. Odometry-using data from positional sensors such as encoders attached to each actuator of the robot-measures changes in the robot's position over time. The odometry method is applied to reduce the positional inaccuracy of various WMRs [4]. Odometry has been used in this way by a number of engineers and researchers. For example, at the University of Michigan, the UM Benchmark method was deployed to measure odometry errors in differential drive mobile robots [8].

B. BOOTSTRAP FOR CALIBRATION OF WMRs
Building on the bootstrap technique, we have found a new way to reduce both systematic and non-systematic positional inaccuracy in mobile robots with a differential drive mechanism [1], [9]. Our method uses positional inaccuracy information-i.e., lateral and longitudinal errors (response variable)-to predict estimated values of angular velocities (explanatory variable) to keep the robot moving along the desired trajectory and to reduce positional inaccuracy during the motion. The technique uses both deterministic and physical properties of WMRs to estimate a set of angular velocities that enable the robot to correct its positional inaccuracy in a real-time fashion [9]. Note that this technique does not obtain precise estimates that allow for the development of necessary confidence intervals. Nor does the technique rely on the information in the Training data set to fit the model that estimates calibration errors. This, in turn, means the statistical properties of the estimates cannot be studied [8]. Finally, the method assumes the same distribution for the encoder readings in both the odometry-based method for positional inaccuracy reduction (prediction) and in robot movement in the field (validation).
To address the issues listed above, a nonparametric bootstrap technique with a probabilistic methodology was used to acquire both interval and point estimates of the robot's positional inaccuracy as it moved along a given trajectory. These estimates were obtained by measuring two corrective factors representing positional inaccuracy: lateral and longitudinal factors. A more detailed explanation of the bootstrap technique is given in Efron and Tibshirani [10]. We ensured that each estimate was precise using multivariate error reduction. Here, the relationship between the WMR's positional inaccuracy and the angular velocities of the two wheels was calculated. This was done by applying a linear regression model to each of the positional inaccuracy components, i.e., two positions along x and y axes; one rotation of the robot's center of mass. We then applied a least-squares method without making any parametric assumptions, such as normality, for the distribution of these components. At this point, we used the bootstrap technique to estimate the unknown angular velocities and construct necessary confidence intervals (prediction). Our goal was to predict the explanatory variable (angular velocities of the wheels) by observing the response variable (positional inaccuracy). To this end, we intentionally framed our results in calibration terminology.

C. RELATED WORK
Calibration has widely been used in areas such as linear models (univariate and multivariate linear regression) [11], [12], nonlinear models (univariate and multivariate nonlinear regression) [13] and spline regression [14]. There are several techniques other than the bootstrap model that can be used to estimate the explanatory variable using the inverse of the calibration model [15]. The most popular approach is probably the one based on reverse regression. In this technique, the explanatory variable is modeled on the response variable [16]. In this approach, the estimation of the explanatory variable is based on the observed response variable values. The reverse regression was demonstrated to be superior to the inverse regression method by considering the mean squared error [17]. However, reverse regression fails to provide unbiased estimates in general, and it is not applicable in controlled calibration experiments such as the one we consider in this study. An important issue with reverse regression is the fact that the estimated slope does not follow the normal distribution if errors of the model are not normally distributed. This can result in an infinite variance for the slope, which is not practical [18].
Another well-known estimation method is the maximum likelihood approach. This method uses the profile likelihood function as the unknown variable and then measures the mutual inconsistency [18]. This helps to illuminate the differences between the likelihood-based and Bayes confidence regions with other unconditional sampling approaches [18]. However, the maximum likelihood approach requires some parametric and sometimes unverifiable assumptions about the distribution of the errors of the calibration model. In [18], the first obvious problem is that the information at the prediction step is normally quite limited. A second problem involves the distribution of the observed positional inaccuracy when the WMR travels along an unseen trajectory in an unknown. In contrast, the bootstrap approach (proposed in this study) is rather straightforward and does not require such assumptions. The model adjusts by taking into account the effect of the robot's trajectory or environment (e.g., surface irregularities) in the estimation process using a pooling step during a required resampling step.
The rest of the paper is organized as follows. Section II describes the original odometry-based technique that is employed to reduce positional inaccuracy in WMRs. Section III explains the concept of the bootstrap technique used in calibration with multivariate linear models. Experimental results, obtained by implementing the developed model in the real field to reduce both systematic and nonsystematic errors of a prototype mobile robot, are reported in Section IV. Discussions are presented in Section V, followed by conclusions in Section VI.

II. REDUCING POSITIONAL INACCURACY
Hereafter, the wheeled mobile robot with a differential drive mechanism is called a ''robot'' for notational compactness. The sources of systematic and nonsystematic positional inaccuracy impact the accuracy of the robot movement. Control and mechanical elements that cause systematic inaccuracy are VOLUME 8, 2020 FIGURE 1. Reference coordinate systems of a differential drive wheeled mobile robot. XOY shows the world frame. (x b ,y b ) is the coordinate of the robot center of mass,ẋ andẏ are the velocities of this center along X R and Y R axes, respectively. due to imperfections and irregularities that may occur at any step of production, from original design to component fabrication. Non-systematic inaccuracy is, as the name suggests, independent of the robot structure. This type of inaccuracy is the result of surface irregularities and other factors such as temperature [18].
We employed an error reduction method built upon the kinematics of robots to reduce the positional inaccuracy. Then we compared this inaccuracy to a set of quantifiable indices. In this technique, we used the lateral and longitudinal indices to measure the positional inaccuracy. These indices require kinematic modeling of a robot to specify how the robot itself affects its localization.
Understanding the motion of differential drive WMRs begins with describing the contribution of each wheel to the robot's movement. Just as each wheel contributes to the movement, each wheel also imposes limitations. Fig. 1 shows the structure of a commonplace wheeled robot that uses a differential drive. In this drawing, the driving wheels are used to provide power to the platform. Insofar as the two driving wheels roll and do not slip, we have [19]: where (x b , y b ) is the coordinate of the robot center of mass, x andẏ are the velocities of this center along X R and Y R axes, respectively. θ denotes the orientation of the robot with respect to the initial position at the start point of the motion, andθ is its derivatives with respect to time. D R and D L are the nominal diameters of the right and left wheels, respectively. Angular velocities of the right and left wheels are denoted byθ R andθ L , respectively. The nominal distance between the two driving wheels is represented by l.
Besides, the fact that the mobile robot cannot move in the lateral direction, a third equation is obtained as follows [19]: The trajectory of a differential drive WMR to reduce the positional inaccuracy. The proposed error reduction method is built upon kinematic equations and measuring the values of the lateral error (y e ) and the longitudinal error (x e ) in each trial. Fig. 2 shows the test trajectory and the needed parameters. As observed, the robot is programmed to travel along path A, while regardless of the inaccuracy sources, the robot follows path B [1], [9]. Two corrective indices are defined to correct these two errors: lateral index and longitudinal index. The lateral index (F lat ) is applied to the kinematic equations of the robot to ensure that the robot stays along the desired trajectory. This factor presents the ratio of two angular velocities read by the encoders (the displacement over time) and is defined as below [1]: where n is the number of trial runs and, δx i and δy i are the longitudinal and lateral errors measured in each trial (Fig. 2).
To compensate the longitudinal positional inaccuracy, the longitudinal index (F lon ) is defined as follows [1]: In (5), i= 1, 2, . . . ,n is the trial runs and L is the length of trajectory A.
When the values of the robot's actual and nominal physical parameters are not equal, F lat = 1 or F lon = 1, the nominal values in (6) must be replaced with the actual ones. In this case, solving (1) and (2) gives, whereD L andD R are the actual values of the left and right wheel diameters andl represents the actual wheelbase of the robot. Therefore, (6) can be re-written using the nominal values of wheel diameters, wheelbase, and the corrective factors, F lat and F lon . This is done in two stages. First, the angular velocity of the left wheel is adjusted by multiplying it by the lateral corrective factor (F lat ). This ensures that the robot stays along the straight path and manages to stay along the desired path (path A) with no lateral error (δy). Then, the longitudinal corrective factor (F lon ) is used to fine-tune the speeds of the wheels and help the robot meet the desired point. The corresponding relationship between the robot trajectory variables and the wheels variables will then become, Note that in (7),θ L andθ R are computed by differentiating angular displacements (θ L and θ R ) with respect to time that are calculated from the encoder readings.ẋ b ,ẏ b andθ are derivatives of x b , y b , and θ with respect to time.
In [9], the authors have mathematically proven that the use of the corrective factors keeps the robot on thedesired path and correct the robot's motion to reach to the end-point.

III. BOOTSTRAPPING IN CALIBRATION WITH MULTIVARIATE LINEAR MODELS
The focus of this paper is on applying the bootstrap technique to calculate estimates and associated confidence intervals of the unknown lateral and longitudinal corrective factors associated with observed encoder readings; therefore, (7) is used for inclusion in the developed bootstrap code in the R software.
A detailed explanation of the bootstrap technique, its applications, and examples are presented in Efron and Tibshirani [20]. In this application, for each set ofẊ =(ẋ b ,ẏ b ,θ), there is a 2 × 3 matrix with an entry that is called the correction matrix, , After fitting proper models, the interest lies in estimating the unknown angular velocity vector of each wheel˙ =(θ L ,θ R ), associated with measured valuesẊ .
To implement the bootstrap technique, we used both Training and Unknown data sets. The Training data set was obtained under a controlled setting that covered the required ranges of the positional inaccuracy that lead to finding estimated angular velocities, as explained in Section II. However, for the Unknowns, we only observed the values of X and the goal was to estimate˙ . For estimating the unknown values oḟ , we needed to fit the following model to the Training data set, or, where the components of˙ denote the observed angular velocities of the wheels when the robot travels along path A (desired trajectory) in Fig. 2. The value of is calculated using the number of counts read by the encoders over time.
is the correction matrix defined in (8) that alleviates the effects of the positional inaccuracy of the robot. The error is represented by 1 and 2 . To construct the bootstrap data set, the residuals are obtained from both Training and Unknowns to form the residual pool. This will incorporate the effect of the type of the trajectory, functioning the robot components, and the surface irregularities by combining data from the procedure explained in Section II and the movement of the robot in the real field. Therefore, the values of S 1 and S 2 are estimated by fitting the following models: where S 1 =θ L and S 2 =θ R . S i ,i= 1, 2, refer to the derivatives of the encoders' readings measured in the wheels 1 and 2. We use i , i= 1, 2, to show the error terms associated with the models that are used to fit linear relationships betweenẊ and˙ . Due to the low variation of the residuals, they were altered by an adjusting factor, √ m/(m − p), where m is the number of data points and p is the number of parameters [21]. After fitting the necessary regression models, the following steps were used in order to obtain bootstrap estimates of .
1. Calculate , from (9) and (10) using the Training dataset. 2. Calculate residuals for i= 1, 2, . . . ,m using: 3. Construct the bootstrap data set, by resampling from the residual pool ( i , i= 1, 2) and then sampling resulted in data to obtain: Training pool: Unknowns:θ * where * 1 and * 2 are random samples with replacement from the residual pool andẊ = ẋ bẏbθ T is considered as the observed response vector, and is used to predict the amount of relativity ofθ L andθ R . 4. Estimate * 1 and * 2 , from (15). 5. Obtainθ L andθ R using: 6. Start from 3 and repeat B times (steps 3 to 5).

IV. EXPERIMENTAL RESULTS
We implemented both bootstrap and linear regression approaches in a real application to predict the corrected angular velocities of the wheels of a differential drive WMR (θ R andθ L ) using a linear regression approach.

A. PROTOTYPE ROBOT
This section describes the prototype of a mobile robot with a variety of components to examine the effectiveness of implementing the bootstrap technique with multivariate linear models to reduce positional inaccuracy. The robot was designed and built for maze competitions (see Fig. 3). It has two microprocessor-controlled driving wheels and additional castor wheels for stability. The robot, Maze, detects obstacles with two front-mounted ultrasonic sensors. Throughout the kinematic modeling, two assumptions were made: first, the robot operates on a horizontal plane; and second, that the robot is a rigid body on the wheels. The robot's dimensionality was defined by three elements (degrees-of-freedom): two for the position in the plane (x b and y b ) and one for the orientation about the vertical axis (θ), which is normal to the plane.

B. APPLYING THE BOOTSTRAP TECHNIQUE TO ESTIMATE ANGULAR VELOCITIES OF THE TWO WHEELS
In order to obtain the data set for Training, the data from 20 trial runs were used during error reduction of the prototype WMR measured by following the instructions given in Section 3 (B=20). The robot was programmed to move along the trajectory shown in Fig. 2 for 1.5 m. Data measurement was performed 20 times under the same test conditions such as environment, temperature, surface irregularity, and velocity of the wheels. Therefore, in total, 20 sets of data were collected when the robot began traveling from START point to the desired END point in Fig. 2. In each trial, the robot was programmed to stop at the desired END point; however, the positional inaccuracy made the robot stop at the actual END point. Therefore, there were two lateral and longitudinal corrective factors associated with each trial. The Unknowns were considered as the angular velocities of the two wheels,˙ =(θ L ,θ R ), that will give us the corrective factors after substituting in (7). To quantify the estimate and the precision associated with each estimate oḟ the mean values of the final inaccuracy of the main body posture (position and orientation) over time, X =(ẋ b ,ẏ b ,θ), were computed to be used in the bootstrap algorithm and in (6) to (16).
In this part, predictions of the corrected angular velocities of the wheels, (θ R andθ L ), was presented using the bootstrapping with multivariate linear models and linear regression that we have used in [19]. Table 1 lists the length of angular velocities intervals obtained for the right and left wheels. The results are also visualized in Fig. 4. We used the bootstrapping method to estimate the angular velocity of each wheel. We based this on the measured mean values of X vector, just as we did in each trial. This enables the robot to compensate for systematic errors, and allows us to find the confidence interval associated with each estimate. The estimates were then compared with those obtained from the positional inaccuracy reduction technique proposed in Section II. For instance, in the first trial, when the true mean value of the posture rate X = x b ,ȳ b ,θ is (0.254, 0.013, 0.007), the true angular velocities of the left and right wheels˙ =(θ L ,θ R ) are (5.082, 5.397) while having associate confidence intervals of (4.955, 5.182) and (5.234, 5.509). This is while the linear regression method showed true values of (5.168, 5.339) for˙ . Table 1 shows the amount ofθ L calculated using the bootstrap technique was always less than that of linear regression.
The ratio of each Unknown was also calculated to understand the differences between the two methods, as listed in the last two columns of Table 1. Specifically, the ratio ofθ L of the bootstrap technique to the linear regression method (r L ) changes from 0.983 to 0.992. However, this ratio (r R ) forθ R varied around 1, changing from 0.962 to 1.066. The ratios of velocities in both methods are shown in Fig. 5. Note that the left angular velocity (θ L ) in the bootstrap technique was smaller than those found using the linear regression  method. However, we could not establish a solid conclusion by observing the trend of the left angular velocity (θ R ).
After calculating the true values of the angular velocity using the Training pool data, the lateral and longitudinal corrective indices (F lat and F lon ) were calculated using (7). The indices were used to validate the effectiveness of the bootstrap technique compared to the conventional linear regression method.

C. APPLYING THE BOOTSTRAP TECHNIQUE TO ESTIMATE ANGULAR VELOCITIES OF THE TWO WHEELS
Uncontrollable phenomena such as non-point wheel contact on a testbed and irregularities on the testbed itself cause nonsystematic errors. When the robot faces such a phenomenon, the wheels angular displacement/velocity cannot follow the desired rhythm of rotation, i.e., a deviation in the angular displacement or velocity is seen compared to expected values. In other words, the robot moves along a different path. Exact prediction or simulation of the robot's behavior in response to surface irregularities is almost impossible, unless a precise model for those irregularities exists. Therefore, we cannot present a quantifiable and measurable test algorithm to model the resources of non-systematic errors [3]. A solution to this problem involves creating surface irregularities on the testbed by using artificial obstacles selected based on the geometry VOLUME 8, 2020 TABLE 2. Estimated confidence intervals (CI) in different trials conducted to reduce systematic errors. To examine the results of the bootstrap method, the amounts of the angular velocities of the two wheels were considered as unknown values. of the robot's environment [3]. Afterward, the error reduction technique was applied to find modified angular velocities. In this experiment, we chose vertical obstacles that simulate bumps in a road. The obstacles were round having 10 mm diameter, common cables with rubber coating, and were evenly placed 200 mm apart along the trajectories (Fig. 6).
We collected data from 20 trials (B=20). In each trial, we followed the protocol outlined in Section II. The length of the path (see Fig. 2) was 2 m. Both lateral and longitudinal errors were measured while no intentional change was applied to the test conditions such as temperature and surface irregularity. The robot started moving from the START point to the desired END point shown in Fig. 5, after passing over the artificial obstacles. In all trials, it was observed that the robot did not stop in the desired END point because of the error sources.
Similar to Subsection IV.A,˙ = (θ L ,θ R ) were considered unknowns that were used later to calculate the corrective factors using (7). We measuredẊ = (ẋ b ,ẏ b ,θ) in each trial to compute the estimates and the precision associated with each estimate of˙ . Table 2 lists the estimates of angular velocities of the left and right wheels and their associated intervals. The values are also illustrated in Fig. 7, pictorially. Similar to estimating the parameters while the robot faces systematic errors, the bootstrapping method was employed to estimate the amount of the angular velocity required to compensate for non-systematic errors as well as quantifying the associated confidence intervals. The ratio of each Unknown quantified using each method is presented in Table 2. As observed, r L varies between 0.985 and 1.016 and r R changes from 0.977 to 1.022. Fig. 8 depicts the ratios of velocities in both methods. The data shown in Table 2 were used to compute F lat and F lon .

A. VALIDATIONS ALONG UNSEEN TRAJECTORY
The results of the study were implemented in the real field while the robot was programmed to move along an unseen trajectory. The robot was given a trajectory, formed from a square, a triangle, and a semicircle to follow, and the robot was instructed to travel the given path ceaselessly (see Fig. 9). The length of each side of the square and the triangle was 100 cm and the radius of the semicircle was 80 cm. This set of tests was performed with three variations: i. the robot was not calibrated, i.e., the corrective factors, obtained from the linear regression method or bootstrap, were not entered into the software and no calibration was done (no calibration: NC); ii. the corrective factors (F lat and F lon ) were calculated using the linear regression technique and adjusted the robot's movement when the software included them in the robot's which is labeled 'START', then moved along the sides of the square, triangle and semicircle, and stopped at the END point. The test procedure is repeated 5 times for each variation, for a total of 15 iterations. The robot coordinates in X R and Y R directions (x e and y e ) were recorded. In each trial the difference between the desired END point (desired values of x e and y e ) and actual END points were calculated to obtain the positional inaccuracy components (x e and y e in Fig. 2). Table 3 lists the error components in all three scenarios: NC, CL, and CB. As shown, the movement of the robot was adjusted for the given path after applying the corrective factors (CL and CB). Table 3    X R and Y R direction, the radial error (r e = x 2 e + y 2 e ), and shows the RMS error improvement (k I = r e,CL /r e,NC or k I = r e,CB /r e,NC ) after (CL and CB) and before calibration (NC). For this typical experiment, as reported in Table 3, the RMS values of positional inaccuracy reduced by 87.6% in CB compared to 80.9% in CL.
We have programmed the robot to move along the same trajectory while some artificial obstacles were located along the path. The obstacles are 20 cm far from each other. Fig. 9 depicts some samples of the obstacles placed. A list of error components in NC, CL, and CB scenarios is presented in Table 4. It is observed that the robot's motion has been corrected when the corrective factors have been entered into the robot program (CL and CB). This improvement is also validated by RMS values of the positional inaccuracy in X R and Y R axes. As observed, improvement in the RMS values of errors (k I ) after (CL and CB) and before calibration (NC). Table 4 illustrates an improvement of 88.1% and 81.4% in the RMS values of positional inaccuracy in CB and CL, respectively.

B. APPLICATION IN THE REAL FIELD
The degree of positional inaccuracy is important as it can be used to correct the movement of the robot in predictable (systematic error) and unpredictable (non-systematic error) environments. Specifically, the quantification of corrective factors allows the robot programmers to rectify the errors that stem from the various steps from design to fabrication. Quantification of the intervals allows us to play with numbers within the interval based on the application of the WMR.

VI. CONCLUSIONS
In this paper, the bootstrap technique was used to calibrate the positional inaccuracy in a wheeled mobile robot with a differential drive mechanism. We incorporated effects from both the environment and robot inaccuracies in the entire process from design to fabrication in our estimations through a pooling stage in the procedure. Results of the bootstrap technique were combined with the formulations of an odometry-based error reduction method to correct the systematic and non-systematic errors of mobile robots with a differential drive mechanism. A prototype mobile robot was constructed to evaluate the effectiveness of the bootstrap technique compared to traditional linear regression.
Experimental results along an unseen trajectory to improve systematic errors showed that incorporating the corrective factors obtained using bootstrap reduced positional inaccuracy by 87.6%. In comparison, the linear regression resulted in only an 80.9% error reduction under the same experimental conditions. Moreover, testing the robot along the same unseen trajectory, while some artificial obstacles were added to simulate surface irregularities, showed 81.4% and 88.1% error improvement using the bootstrap and the linear regression methods, respectively. These values could change depending on the surface irregularities and structure of the mobile robot. In conclusion, the bootstrap technique could reduce both systematic and non-systematic errors more effectively compared to the linear regression method.