Dynamics Based Control of a Skid Steering Mobile Robot

In this paper, development of a reduced order, augmented dynamics-drive model that combines both the dynamics and drive subsystems of the skid steering mobile robot (SSMR) is presented. A Linear Quadratic Regulator (LQR) control algorithm with feed-forward compensation of the disturbances part included in the reduced order augmented dynamics-drive model is designed. The proposed controller has many advantages such as its simplicity in terms of design and implementation in comparison with complex nonlinear control schemes that are usually designed for this system. Moreover, the good performance is also provided by the controller for the SSMR comparable with a nonlinear controller based on the inverse dynamics which depends on the availability of an accurate model describing the system. Simulation results illustrate the effectiveness and enhancement provided by the proposed controller.


Introduction
Nowadays, mobile robotics constitute an attractive research field with a high potential for practical applications. Skid steering mobile robots (SSMR) are widely used as outdoor mobile robots. Simple and robust mechanical structure, faster response, high maneuverability, strong traction, and high mobility make SSMR to be suitable for many applications such as loaders, farm machinery, mining and military applications [1] [2]. Due to complex kinematic constraints and wheel/ground interactions, considering the dynamical model and designing a proper controller for skid-steering mobile robots (SSMR) are challenging tasks. For the topic of skid steering mobile robots modelling and control, several research papers have been published to cover this research field. The stability of wheeled skid steering mobile robots has been studied using model based nonlinear control techniques by explicitly considering dynamics and drive models [3][4][5].
Moreover, the kinematics have been addressed as the relation of linear and angular velocities with the position of the vehicle in some works [6] [7]. However, major skid effects have not been considered, which arise at a lower level, in the relation between drive velocities and vehicle velocities. Estimation of tire/ground friction of a simpli- fied dynamic model for wheeled skid steering mobile robots is considered using an online adaptive control [8]. A trajectory tracking control were presented in [9] to control a wheeled skid-steering mobile robot moving on a rough terrain based on different control methods such as practical fuzzy lateral control, longitudinal control and sensor pantilt control; the authors used ADAMS and MATLAB co-simulation platform to assess these control laws.
In [10] [11], a thorough dynamic analysis of a skidsteered vehicle has been introduced; this analysis considers steady-state (i.e. constant linear and angular velocities) dynamic models for circular motion of tracked vehicles.
The control system design for such SSMR dynamics and drive subsystems was done independently without considering the combination between dynamic and drive model. Moreover, the robot motor voltages/torques may be the true control inputs of some mobile robots. In other words, the low level control of such mobile robot may be essential for trajectory tracking problem to consider robot dynamics. Therefore, the main contribution in this paper is to design a dynamics-based controller to control the augmented dynamics-drive model which has the inputs of motors voltages and the outputs of robots are the longitudinal and angular velocities.
In this paper, a reduced order, augmented dynamics-drive model that combines both the dynamics and drive subsystems of the SSMR based on [3] is developed. Then, a Linear Quadratic Regulator (LQR) with feed-forward compensation of the disturbances part included in the reduced order augmented dynamics-drive model is developed. For comparison, an inverse dynamics controller is designed. The main advantage of the proposed LQR controller is simplicity of design and experimental implementation in comparison with nonlinear controllers which are highly complex for implementation. The two controllers are used for a reference tracking of SSMR.
The remaining of the paper is organized as follows: A reduced order augmented dynamics-drive model of SSMR is presented in a systematic way in section 2. Section 2 is also devoted to present the development of the controller using LQR with feed forward compensation for the system. An inverse dynamics controller is presented to ensure robustness to the nonlinearities of dynamical model. Section 3 is dedicated for extensive simulation results considering trajectory tracking problem. Conclusions and ideas for future work are given in Section 4. Finally, acknowledgments and references complete the paper.

Robot Model
In this subsection, the dynamics mathematical description of an SSMR moving on a planar surface is reviewed. The mobile robot mathematical model [3] can be divided into three parts: kinematics, dynamics and drive subsystems, see Figure 1. In this paper, we focus on the first two blocks, i.e., the drive and dynamics subsystems, and we use them for reference tracking control of both the linear and angular velocities.

Model of Dynamics Subsystem
The dynamics effects play an important role in SS-MR vehicles. Such dynamics consider the forces and torques required to cause the robot motion. Considering forces and torques is important in mobile robot control to follow a desired trajectory.
Moreover, dynamics consider the wheel ground interactions which affect the performance of the SSMR vehicles. So, this subsection is dedicated for the dynamics properties of the SSMR moving on a planar surface as shown in Figure 2 to be described [3] [4]. It is assumed that the mass distribution of the vehicle is homogeneous, kinetic energy of the wheels and drives is neglected and detailed derivations of the tire relations is omitted and the reader can return to [3] for more details.
Using the Euler-Lagrange principle with Lagrange multipliers to include non-holonomic constraints, the dynamics equation of the robot can be obtained. The planar motion of SSMR allows us to assume that the potential energy of the robot is ( ) = 0. Therefore the Lagrangian L of the system equals the kinetic energy as given by equation (1): The following equation (2) can be developed if the kinetic energy of the vehicle is considered and the energy of rotating wheels is neglected: where and represent the mass of the robot and moment of inertia of the robot about the COM, respectively. Equation (2) can be rewritten in the following equation (3) The inertial forces can be obtained after calculating the partial derivative of kinetic energy and its time-derivative as given by equation (4). where: Based on Fig.3, the generalized resistive forces can be calculated as the following equation (6).
such that, (̇) and (̇) are the resultant forces expressed in the inertial frame which can be calculated as given by equation (7) and equation (8).
Also, the resistant moment around the center of mass (̇) can be obtained as given by equation (9).
such that results from the rolling resistant moment as shown in Figure 4 and denotes the lateral reactive force. and can be considered as wheel friction forces and can be described as given by equation (10).
where and denote the coefficients of the longitudinal and lateral friction forces. is the gravity of acceleration. The active force is linearly dependent on the wheel control input by the inverse of the wheel radius (r) given by equation (11).
The active forces generated by the actuators which make the robot move can be expressed in the inertial frame as the following equation (12).
The active torque around the COM is calculated as defined in equation (13).
In consequence, the vector F of active forces has the following equation (14).
Using equations (11) to equation (13), and assuming that the radius of each wheel is the same, we get equation(15).
A new torque control input τ is defined for notation simplification as equation (16).
where and denote the torques produced by the wheels on the left and right sides of the vehicle, respectively. Using equation (15) and equation (16), we can obtain the following equation (17).
such that is the input transformation matrix defined as equation (18).
A velocity constraint can be considered in order to complete the kinematic model as equation (20).
Equation (20) describes a non-holonomic constraint which can be written in the Pfaffian form as equation(21).
[− sin cos The equation that describe the kinematics of the robot is given by [3]: is the longitudinal velocity, is the angular velocity of the robot, is the torque control input, and = [ ] represents the generalized coordinates of the center of mass (COM) of the robot, i.e., the COM position, with and ; and is the orientation of the local coordinate frame with respect to the inertial frame.
Equation (19) describes the dynamics of a free body only and does not include the non-holonomic constraint described by equation (21), so a constraint has to be imposed on equation (19). A vector of Lagrange multipliers, , is introduced to include the non-holonomic constraint into the dynamics equation as the following equation(23).
It would be more suitable to express equation (23) as a function of the internal velocity vector for control purposes. So, by multiplying equation (23) by ( ) from the left, we can obtain the following equation(24).
Equation (26) can be written as the following equation(31).
where � is nonsingular for all , 2 is the vehicle width, and the coordinate of the instantaneous center of rotation (ICR) is defined as ( , ).

Model of Drive Subsystem
In this subsection, the drive subsystem of an SSMR model is developed. It is assumed that the robot is driven by two DC motors, one at each side, with mechanical gears. Moreover, it is also assumed that there is no slip in the belt which connect each two wheels on each side and there are no nonlinearities in the mechanical coupling in the drive subsystem. In Figure 5, a simplified scheme of the drive on the right side of the robot is depicted. Considering only one drive and assuming that the two motors and gears have the same parameters, the relation between the torque and voltage can be written as the following equation(32). = where is the armature current, is the motor torque constant, n is the gear ratio such that ( > 1).
where and denote the series inductance and resistance of the rotors, respectively, is the electromotive force, and is the right hand side motor angular velocity.
The left and right sides angular velocities can be obtained from the following equation In order to obtain the overall model of the two motors of the drive system, Equation(33) can be written as the following equation(36) and equation (37).
where and are the right and left side motor voltage signals, respectively.

Dynamics-Drive Augmented Model
In previous work, a control law was designed for dynamics and drive models independently. However, in this research it is required to design one controller for both dynamics and drive models. So, the drive and the dynamics subsystems are combined in one state space representation for such purpose. Substitution from equation(32) into equation(31), gives theis equation(38).
which can be mathematically manipulated to obtain equation(39).
The dynamics-drive model of the SSMR vehicle described by equation (37) and (39) can be re-

Osama Elshazly, et al., Dynamics Based Control Of A Skid Steering Mobile Robot 75
presented by the following state space representtation: It may be difficult to design a controller for a system of fourth order described by equation(40). So, it will be simpler if the system is reduced to a lower order. The order of the model described by equation (40) can be reduced to 2 by neglecting the motor inductance, i.e. = 0. Therefore, equation (33) can be written defined in equation(43).
The motors torque can be calculated as: By using equation (45), the state space representation of the reduced order overall system can be given by equation (46). where: Equation (46) can be written in the general form of the state space representation as the following equation (50).
where the system states are represented by equation (51).
The control input vector is represented by Finally, we consider D2(X), the last term of equation(50) as a disturbance; this will be neglectted in the design of the Linear Quadratic Regulator (LQR) in the next subsection; however, it will be considered in the design of the feed-forward controller to overcome its effect on the system as shown below in the next subsection.

Dynamics-Based Controller
Motor voltages/torques may be the true control inputs of some mobile robots. In other words, the low level control of such mobile robot may be essential for trajectory tracking problem to consider robot dynamics. So, dynamics-based controller is presented to control the augmented dynamics-drive model which has the inputs of motors' voltages ( and ) and the outputs of robot's velocities ( and ). In this section, two control laws are introduced, LQR with feed-forward compensation and inverse dynamics controller to be used for a reference tracking of the augmented dynamics-drive model presented in the previous section.

Linear Quadratic Regulator (LQR)
LQR control plays a crucial role in optimal control systems and it has many applications, e.g. airplane flight control, chemical process control, and motor control. The main purpose of LQR control is to ob-2, June 2016 tain an optimal control law in order to minimize a cost function along the trajectory of a linear system. Consider the state space representation of a system [12]: with ( ) ∈ , ( ) ∈ and the initial condition is (0). We assume here that all the states are measurable and seek to find a state-variable feedback control law as equation(54).
that gives desirable closed-loop properties such that K is the feedback gain vector. The optimal feedback state regulation minimizes the quadratic cost function defined by equation(55).
where is a symmetric positive semi-definite matrix and is a symmetric positive definite matrix. The optimal feedback gain vector can be calculated by equation(56).
where P is the solution of the Algebraic Riccati Equation defined by equation (57).
Our objective is to design an optimal control law to provide a reference tracking controller of a linearized model of the skid steering mobile robot vehicle using the voltages of the two motors as the inputs to the system. The closed loop reference tracking control system for the SSMR is described by equations (52) and (53). The control law for reference tracking LQR controller can be defined as equation(58) [13]: where = −( ( − ) −1 ) −1 to insure zero steady-state error and is the desired output.
The block diagram that describes the closed loop system for the augmented dynamics-drive model which was described by equation (50) with the LQR control law defined by equation(58) is depicted in Figure 6.

Feed-Forward Compensation
In the simulation, the term D2(x) of equation (50) is considered as a disturbance; therefore, the system response is tested with and without this term to check its effect. A feed-forward compensation is proposed to overcome the effect of this term.
The overall closed-loop block diagram of the system with the LQR controller and the feed-forward compensation is depicted in Figure 7, where F is a vector which can be calculated by equation  This vector represents the compensation of the two components of 2 ( ).

Inverse Dynamics Controller
As presented before, the LQR controller with feedforward compensation was designed for a linearized model of the SSMR and it is more favorable to design a controller for the nonlinear model of the SSMR directly. So, we design an inverse dynamics controller for the nonlinear system model based on the idea presented in [14]. Consider again the SS-MR dynamics model described by equation (50). The idea of inverse dynamics is to seek a non-linear feedback control law described by equation(60).
The block diagram of the scheme of the inverse dynamics control is shown in Figure 8. Consider a new input to the system such the equation(61).
The new control input can be given by equation (64).
where is the gain to be designed for the controller and is the reference system states.

Results and Analysis
In this simulation, the dynamic and drive models described by the reduced order model (46) is considered, so the inputs to the system are the two motor voltages 1 and 2 and the outputs of the system are the linear velocity and angular velocity . The system parameters applied for simulation are shown in Table 1. In practice, it is difficult to measure value, so it is assumed here to be equation(65) [3] [4].
where and are positive kinematic parameters of the robot depicted in Figure 2.

LQR with Feed-Forward Compensation Controller Results
For the LQR controller, the matrices and , which are described in equation (57), are chosen by trial and error to be equation(66).
In simulation, we test three cases for the system. Firstly, we assume that the system described by equation (50) is without the disturbance 2 ( ) term as shown in Figure 9. Secondly, this term 2 ( ) is added to the system as depicted in Figure  6 to check its effect on the response and asses the controller performance. Finally, the feed-forward compensation part is included as shown in Figure  7 to overcome the effect of the disturbance part 2 ( ). Figure 10 shows the system response to a square reference for both the linear and angular velocities. The system can track the desired inputs quickly and without any overshoot. Also, Figure 10 provides the control signals of the system motors and it is obvious that the control signals are in the limits of the maximum motor voltages (±24V DC).
In order to demonstrate the effectiveness of the controller, the term D2(x) is added to the system and the system response and control signals are shown in Figure 11. It can be shown that the system is affected by this part which destabilizes the angular velocity output.
In order to overcome the effect of D2(x), the feed-forward compensation is added to the controller. The system response and control signals are shown in Figure 12. It is shown that the system can again track the desired references. Moreover, we see that the control signals are different from those that are depicted in Figure 10 and Figure 11 as the control law is changed, see Figure 7.
From the above analysis, the simulation results illustrate that the LQR performance is enhan- ced for the linearized model; however, the stability and tracking of the reference input may not be guaranteed if this controller is applied to the nonlinear system as it was applied to a linearized model with disturbance term only and the stability and tracking is not guaranteed.

Inverse Dynamics Controller Results
Next, we apply the inverse dynamics controller to the nonlinear system described by equation (50) directly. The gain k found in equation (64) was selected to be 10. The system response and control signals are shown in Figure 13. These results clearly illustrate the performance enhancement of the inverse dynamics controller that can deal with nonlinear systems. Also, the two control signals are within the limits of the motor voltages. But, it is clear from the inverse dynamics controller design that an accurate model of the nonlinear system is needed as its proper design depends on the system matrices. Finally, it should be noted that the inverse dynamics controller is applied to the nonlinear model of the SSMR directly while the LQR with the feedforward compensation is applied to a linearized model of the system.

Conclusion
An LQR with feed-forward compensation algorithm is presented in this paper for controlling a reduced order model of augmented dynamic and drive models of an SSMR. The controller is considered by merging a linear quadratic regulator controller with a feed-forward compensation to impro- . System response (including D 2 (x) as part of the system) ve tracking accuracy and overcome effects of nonlinearities. For comparison, an inverse dynamics controller is designed. The LQR controller with the feed-forward compensation shows satisfactory results.
In the future work, a development of a timevarying LQR controller to deal with the nonlinearities of the system will be investigated. Experimental implementation will be considered as well.