Analysis and Experimental Kinematics of a Skid-Steering Wheeled Robot Based on a Laser Scanner Sensor

Skid-steering mobile robots are widely used because of their simple mechanism and robustness. However, due to the complex wheel-ground interactions and the kinematic constraints, it is a challenge to understand the kinematics and dynamics of such a robotic platform. In this paper, we develop an analysis and experimental kinematic scheme for a skid-steering wheeled vehicle based-on a laser scanner sensor. The kinematics model is established based on the boundedness of the instantaneous centers of rotation (ICR) of treads on the 2D motion plane. The kinematic parameters (the ICR coefficient χ, the path curvature variable λ and robot speed v), including the effect of vehicle dynamics, are introduced to describe the kinematics model. Then, an exact but costly dynamic model is used and the simulation of this model’s stationary response for the vehicle shows a qualitative relationship for the specified parameters χ and λ. Moreover, the parameters of the kinematic model are determined based-on a laser scanner localization experimental analysis method with a skid-steering robotic platform, Pioneer P3-AT. The relationship between the ICR coefficient χ and two physical factors is studied, i.e., the radius of the path curvature λ and the robot speed v. An empirical function-based relationship between the ICR coefficient of the robot and the path parameters is derived. To validate the obtained results, it is empirically demonstrated that the proposed kinematics model significantly improves the dead-reckoning performance of this skid–steering robot.

wheeled robot cannot be used for skid-steering robots [14,15]. Meanwhile, geometric analogy with an ideal differential-driven wheeled mobile robot was studied [2,7]. Experimental validations have been conducted for both tracked vehicles and skid-steering mobile robots. These correspond to the position of ideal differential drive wheels for a particular terrain. This is based on the fact that tread ICR values are dynamics-dependent, but they lie within a bounded area at moderate speeds. A group of constant kinematic parameters were derived as optimized values for the tread ICR on the plane. Specifically, we find that tread ICR values vary with the speed of the robot and the path curvature, so it is necessary to further describe the relationship between tread ICR values and curvature of the path and the vehicle speed.
Building upon the research by Mandow [2] and Moosavian [13], we develop an experimental kinematics model for a skid-steering mobile robot. The kinematics model based on ICR of both treads on the motion plane is used [2], and we consider that tread ICR values change with the speed of the robot and the path curvature by explicitly considering slip ratio [13]. A dynamic model based on the research by Yu [8,9] and Wong [16,17] is developed for a simulation in order to estimate a potential kinematics relationship. Because a laser scanner is accurate and efficient for mobile robot localization and dead-reckoning [18,19], with a laser-scanner-based experimental method, an approximating function is derived to describe the relationship between the ICR values of the robot and the radius of curvature of the path and speed of the robot.
The main contribution in this paper is that the new analysis and experimental kinematic scheme of the skid-steering robot reveal the underlying kinematic relationship between the ICR coefficient of the robot and the path parameters. The simulation based on a dynamic model analysis shows a qualitative relationship among the parameters theoretically specified before the experiment. An empirical function relationship between the ICR values of the robot and the path parameters is derived with this laser-scanner-based experimental method. Dead-reckoning performance shows that the empirical function kinematics model improves the motion estimation accuracy significantly. This laser-scanner-based method is easy to operate and does not add extra sensors or change the vehicle mechanical structure and control system. The proposed model and analysis approach can be further used for robot control, as an exact kinematics control can be used for a skid-steering robot [13].
The remainder of this paper is organized as follows: Section 2 presents the kinematic and dynamic modeling of a four-wheel skid-steering mobile robot. A dynamic model based simulation to explain the potential kinematics relationship is proposed. In Section 3 the laser-scanner-based localization method is presented and the experiment results and analyses are given. Figure 1 shows the kinematics schematic of a skid-steering robot. We consider the following model assumptions:

Kinematical Analogy of Skid-Steering with Differential Drive
(1) the mass center of the robot is located at the geometric center of the body frame; (2) the two wheels of each side rotate at the same speed; (3) the robot is running on a firm ground surface, and four wheels are always in contact with the ground surface. We define an inertial frame (X, Y) (global frame) and a local (robot body) frame (x, y), as shown in Figure 1. Suppose that the robot moves on a plane with a linear velocity expressed in the local frame as = ( , , 0) and rotates with an angular velocity vector = (0,0, ) . If = ( , , ) is the state vector describing generalized coordinate of the robot (i.e., the COM position, X and Y, and the orientation of the local coordinate frame with respect to the inertial frame), then = , , denotes the vector of generalized velocities. It is straightforward to calculate the relationship of the robot velocities in both frames as follows [6]: Let , i = 1,2,3,4 denote the wheel angular velocities for front-left, rear-left, front-right and rear-right wheels, respectively. From assumption (2), we have: Then the direct kinematics on the plane can be stated as follows: where = ( , ) is the vehicle's translational velocity with respect to its local frame, and is its angular velocity, is the radius of the wheel. When the mobile robot moves, we denote instantaneous centers of rotation (ICR) of the left-side tread, right-side tread, and the robot body as , and , respectively. It is known that , and lie on a line parallel to the x-axis [7,16]. We define the x-y coordinates for , and as( , ) , ( , ) , and ( , ), respectively. Note that treads have the same angular velocity as the robot body. We can get the geometrical relation: From Equations (4)- (7), the kinematics relation (3) can be represented as: Where the elements of matrix J depend on the tread ICR coordinates: If the mobile robot is symmetrical, we can get a symmetrical kinematics model (i.e., the ICRs lie symmetrically on the x-axis and = 0), so matrix can be written as the following form: where = = − is the instantaneous tread ICR value. Noted that = , = , for the symmetrical model, the following equations can be obtained: Noted = 0, so that = . We can get the instantaneous radius of the path curvature: A non-dimensional path curvature variable λ is introduced as the ratio of sum and difference of left-and right-side's wheel linear velocities [1], namely: and we can rewrite Equation (12) as: We use a similar index as in Mandow's work [2,7], then an ICR coefficient χ can be defined as: where denotes the lateral wheel bases, as illustrated in Figure 1. The ICR coefficient is equal to 1 when no slippage occurs (ideal differential drive). Note that the locomotion system introduces a non-holonomic restriction in the motion plane because the non-square matrix has no inverse. It is noted that the above expressions also present the kinematics for ideal wheeled differential drive vehicles, as illustrated in Figure 2. Therefore, for instantaneous motion, kinematic equivalences can be considered between skid-steering and ideal wheel vehicles. The difference between both traction schemes is that whereas the ICR values for single ideal wheels are constant and coincident with the ground contact points, tread ICR values are dynamics-dependent and always lie outside of the tread centerlines because of slippage, so we can know that less slippage results in that tread ICRs are closer to the vehicle.

Figure 2.
Geometric equivalence between the wheeled skid-steering robot and the ideal differential drive robot.
The major consequence of the study above is that the effect of vehicle dynamics is introduced in the kinematics model. Although the model does not consider the direct forces, it provides an accurate model of the underlying dynamics using lump parameters: and . Furthermore, from assumptions (1) and (3), we get a symmetrical kinematics model, and an ICR coefficient χ from Equation (15) is defined to describe the model. The relationship between ICR coefficient and the vehicle motion path and velocity will be studied.

Skid-Steering Mobile Robot Dynamic Model
In Section 2.1, the effect of vehicle dynamics is introduced in the kinematics model. This section develops dynamic models of a skid-steering wheeled vehicle for the cases of 2D motion. Using the dynamic models, the relationship between the ICR coefficients and the path and velocity of the vehicle motion will be studied in a simulation.
In contrast to dynamic models described in terms of the velocity vector of the vehicle [4], the dynamic models here are described in terms of the angular velocity vector of the wheels. This is because the wheel velocities are actually commanded by the control system, so this model form is particularly beneficial for motion simulation.  Figure 3, following Wong's model [16], the dynamic model is given by:

As in
where is the vehicle velocity, and is the angle between the vehicle velocity and x-axis on the local frame.
, , , are external motion resistances on the four wheels. is the drive moment and is the resistance moment. Based on the wheel-ground interaction theory [16,17], the shear stress and shear displacement j relationship can be described as: where is the normal pressure, is the coefficient of friction and is the shear deformation modulus. Figure 4 depicts a skid-steering wheeled vehicle moving counterclockwise (CCW) at constant linear velocity and angular velocity in a circle centered at from position (1) to position (2). The four contact patches of the wheels with the ground are shadows in Figure 4. L and C are the patch-related distances. In the inertial X-Y frame, we define that , , , and , , , are respectively the shear displacements and sliding velocity angle (opposite direction of sliding velocity). The readers can refer to Yu's work [9] for a detailed analysis. The longitudinal sliding friction and lateral force of the four wheels can be expressed as follows: where , and are respectively the normal pressure, coefficient of friction, and shear deformation modulus of the left wheels, and , and are the ones of the right wheels, respectively. With the other parameters directly measured or given, such as mass of vehicle, m, patch-related distances, L and C, width of wheel, b, and can be determined by /2( − ) when a uniform normal pressure distributions assumption used ( = ). We share some parameters: , , and as in Yu's research [9], because the same platform (Pioneer P3-AT robot) and similar lab surface are used for the simulation. In Equation (16), the rolling resistance is denoted as . We can obtain the resistance force, such that:

Dynamic Simulation
This section describes the dynamic simulation that has been used to get the relationship between the treads' ICRs and path. This model has been simulated for computing the treads' ICR positions for the Pioneer P3-AT robot. We set all of the key parameters for the model as listed in Table 1.
where denotes the ith of N simulated data. When the skid-steering wheeled vehicle is in a constant velocity circular motion, a set of different commanded turning radii is given by: So we can use Equation (16) to get χ with respect to a special . The simulated results of χ vs. are shown in Figure 5.  Table 1.
In Figure 5, we can find that decreases as increases, so there is a relationship between these two parameters. In this simulation, we must note that these results are obtained by assuming that the skid-steering mobile robot runs on the firm road and with special values of , , and . Because these terrain parameters are difficult to determine, an exact relationship needs further experimental identification.

Proposed Algorithm
In this section, an easy-operating and effective experiment can be used to derive the symmetric kinematics model and the ICR coefficient. When different angular speed control inputs and are issued, we consider that the vehicle moves at a constant ICR value, then the following equation can be applied: where is the actual rotation angle. We can get by Equation (25). Then, we can use Equation (15) to determine the ICR coefficient .
Note that is denoted in Equation (13). We can choose one of the experimental data as , and on each path, five different speeds: With Equations (26) and (27), we can get different ( , ) pairs. Therefore, 40 experiments will be performed. The ICR coefficient is calculated in each experiment using Equations (15) and (25), which requires measuring the actual speed of each side wheel during the experiment.

Laser-Scanner-Based Localization Method and Experiment Setup
The skid-steering mobile robot-a Pioneer P3-AT robot shown in Figure 6-is used for all testing in this research [20], the parameters for the Pioneer P3-AT robot are listed in Table 1 in Section 2.2.2. The P3-AT robot is driven by two motors on each side, and the two wheels of the same side are connected by one chain, so the two wheels of each side rotate at the same speed.
In all of the experiments the field is faced with a tile. Final drive shaft speeds of the motors on the robot are measured using two optical encoders. The optical encoders produce 2048 pulses per resolution, and the interface chip provides quadrature encoding, producing a change of 8192 counts for one revolution, or 0.0439° per count. A YL-100il wireless series port module, which can transmit data transparently, is selected as wireless transmission part. A laser scanner-based localization method is used for the position and heading measurements of the robot. An overview of the proposed localization method and the robot control system are demonstrated in Figure 7. In order to localize the robot a thin plate (indicated as (1) in Figure 7) is mounted on top of the Pioneer P3-AT robot in the symmetric plane. A Sick LMS400-10000 laser scanner (3) is installed at the same height, the data of which are used to localize the robot. We use a laptop to control the Pioneer P3-AT robot (4) through a wireless serial port communication. The speed range of the robot is about 0-0.6 m/s. The Sick LMS400-1000 laser scanner [21], has a large dynamic measurement range of 0.7 m to 3 m with 3 mm systematic error. The field of view of the laser scanner is 70° with 0.1° angular resolution and 270 Hz-500 Hz scanning frequency. The measurement data from the laser scanner are sent to the laptop using an Ethernet connection. The data of the LMS400 regarding the plate are extracted by a clustering method. A line is fitted to the points. The line slope angle is equal to the heading angle, and coordinates of its center are equal to the coordinates of robot geometric center. A median filter, an edge filter and a mean filter are applied to the computed coordinates of robot to smooth the data as much as possible. Measurements of position and heading from the plate can be updated at 135 Hz after filtering. The calculations of position and heading from the plate are shown below. In Figure 8, the laser scanner is at origin point O in the inertial frame (X, Y), the actual width of the thin plate is = 290.0 mm, that is from point to (the solid blue line) in the laser scanner image region. And is the middle point of plate. The red dot dash line is the planning trajectory of the robot's center. The coordinates of are the position of the robot's center coordinates in inertial frame. The angle between X-axis and line , is the heading angle of the mobile robot. We can get point data from the laser scanner from polar coordinates to orthogonal coordinates: where and are the distance and corresponding angle of point measured by the laser scanner, respectively. The measured width of the thin plate is: All the data on the plate acquired by the laser scanner can be written in orthogonal coordinates: The date can be fitted as a line, and a least-square method is applied to get the heading angle of the line (the same as the robot heading): The line slope angle is equal to the heading angle, considering that the field of view of the laser scanner is 70° (0.389 ): so we can get the position and heading = ( , , ) from the plate based on the laser scanner. The rotation angle of the mobile robot during interval − is: A set of experiments are executed to get the relationship between the ICR coefficient and the radius of path curvature and speed of the robot. On each path, the skid-steering wheeled vehicle is in constant velocity circular motion. The encoders equipped on the left and right motors give the left and right wheels' moving distance, that is and . The laser scanner measures the rotation angle change during entire cycle of motion. As in Figure 9, the robot moves clockwise from position (1) to (3), and the laser scanner get the distance data between the thin plate and the laser scanner center at a time interval of 3.7 ms. With Equations (15), (25) and (36), we can get the ICR coefficient χ.

Errors Analysis
The Sick laser scanner measurements errors are given by ∆ρ = 0.003 m and ∆α = . = 0.00174 rad [21], so the point data errors in orthogonal coordinates from Equation (28) are: Similarly, ∆ • = 0.008 m. When the robot moves, the maximum speed ≤ 0.7 m/s, and the laser sample time ∆ = = . The dynamic error when the robot moves is: Note that ∆ . = ∆ • , so the total point data measurement error is: In Figure 8, with Equations (31), (33) and (36), denote ∈ − , and ∈ [1,3], so the heading angle is: and we have the heading angle error: With Equation (25), we obtain: where and are the displacement distance measured by the left and right wheel encoders, respectively, expressed in millimeters after correction. We note that the position errors are ∆ and ∆ , ∆ and ∆ are obtained by measuring the actual traveled distance d in straight motion, and the results are ∆ = 0.00026 m, ∆ = 0.00020 m. Note that ∆ = 0.018 rad with Equation (41). Let ∆ denote the ICR value error for : Note that is not less than 0.2 m with a width of robot = 0.40 m. The ICR value error ∆ = 0.007 m, corresponding to extremely small estimate error, is sufficient for further testing.

Results
Data are collected in real time and processed off line with MATLAB. Figure 10a shows a comparison of the measured width of the plate from the laser scanner and the actual value. The measured ones, shown as a dot line red line, lies close enough to the actual value (a solid blue line). In Figure 10b, the mean difference between measured width and actual value is shown. In Table 2, it shows that the mean value of measured width is 0.289 m and the standard deviation is 0.003 m, and the maximum error is − 0.01 m, corresponding to an extremely small ICR value estimatation error. The results demonstrate the effectiveness and the feasibility of the proposed laser scanner-based method.    Figure 11 shows the position and heading and velocity of robots calculated by the laser scanner-based localization algorithm during the experiment for speed of 0.25 m/s and curvature radius of 0.475 m.  Figure 12 depicts that the ICR coefficient χ for various path curvatures and vehicle velocity. In Table 3, the mean values μ and standard derivations σ of the ICR coefficient χ are shown. It shows that the maximum relative error is less than 1%, and the maximum σ is no larger than 0.01, so the differences between different χ with respect to corresponding λ can be distinguished, with this ICR coefficient measurement accuracy. Furthermore we can find that Figure 12a represents the similar trends as in Figure 5. By increasing the path curvature (increasing λ), the ICR coefficient χ decreases. This implies a specific behavior for χ with respect to λ. Meanwhile, in Figure 12b, the ICR coefficient remains almost constant with increasing velocity v, at certain λ.    In order to reveal the relationship, an approximate function is then used to define as a function of the non-dimensional path curvature variable : where a and b are determined by a curve fit of the experimental data, > 0, > 0. We run 10 sets of experiments with various on the lab surface. Numerical values of parameters = 0.4728, = 0.0538 are obtained using a nonlinear least-square algorithm for the function given in Equation (44), and substituted as: Figure 13 shows versus using the approximating function and experimental data when = 0.3 m/s . The solutions obtained from the simulated and experimental methods are also summarized in this figure. From a qualitative standpoint, experimental results are coherent with those obtained in simulation. The simulation data are a little bigger than experimental results because of uncertain model parameters, e.g., the coefficient of rolling resistance, coefficient of friction, and shear modulus.

Dead-Reckoning Validation
To verify the developed kinematics model with the relationship between ICR coefficient and , an example path is estimated by two alternative kinematics models: the default P3-AT symmetric model with that is a constant value of 1.5, and the proposed approximating model with that changes with the nondimensional path curvature variable . The example path is different from the ones used in the former model experimental procedure, but it runs in the same environment.
During the dead-reckoning validation, with Equation (11), we have the default P3-AT kinematics model: and with Equations (11) and (13), the proposed kinematics model is: Consider that the center of the robot moves as the following velocity inputs during 6 s. The acceleration is below 3 m/s , which is nearly the maximum acceleration for the P3-AT mobile robot and the velocity is less than 0.5 m/s, which is nearly the effective maximum velocity of the robot.   Figure 14 shows the estimation of the path based on dead-reckoning (only drive shaft encoders are used) according to the default P3-AT model and the proposed model, and the LMS400 laser scanner data provide the actual position and heading. It can be seen that the proposal model achieves better dead reckoning estimation accuracy than that of the default P3-AT model.
Cartesian error and its norm are depicted in Figure 15. The proposed model has a smaller position error within 0.03 m, and a smaller angle error within 0.1 rad. Also, mean squared performance values obtained in the validation path are show in Table 4.  Meanwhile, estimated ICR coefficient χ during the example path is presented in Figure 16. In fact, the ICR coefficient χ varies as the path changes (it is not a constant value of 1.5).

Conclusions/Outlook
We develop an analysis and experimental kinematics scheme of a skid-steering wheeled vehicle based-on a laser scanner sensor. The ICR coefficient χ and a nondimensional path curvature variable λ are introduced to describe the potential model relationship. The dynamic models based simulation results show that there is some relationship between these two parameters. The laser-scanner-based method experimentally derives the approximating function between and . The obtained function is validated on a sample path. It was shown that the proposed kinematics model estimated for a skid-steering mobile robot improves the system performance in terms of reduced dead-reckoning errors, with a smaller position error within 0.03 m, and a smaller angle error within 0.1 rad with respect to the default P3-AT model. This test method is easy to operate without adding extra sensors or changing the vehicle mechanical structure and control system. The proposed model and analysis approach can be further used for odometry or to map desired vehicle motion, such as vehicle speed and angular rate, to required wheel speeds.
However, we use the assumptions 2 and 3, which the robot is running on a firm ground surface, and four wheels with the same speed are always in contact with the ground surface. Some mobile robots run on loose soil and in many 4/6 wheels drive (4/6WD) mobile robots, the wheels of each side rotate at different speeds, raising the question of whether a similar result be obtained in a different environment using this method? For future work, it would be interesting to validate the model on different terrains. The current experimental testing results are obtained when acceleration a < 3 m s ⁄ and velocity < 0.5 m s ⁄ due to the limitations of the robotic platform. Thus, further experiments will be implemented to discuss this problem at higher acceleration and velocity in the future.