Control of Underactuated Skid Steering Mobile Platforms Based on Extended Factitious Force Concept

In the paper new control method of skid steering mobile platforms has been presented. Such platforms are robotic objects with deficit of control inputs in dynamic model, i.e. they are dynamically under-actuated. To compensate lack of controls, it has been assumed that there are additional factitious inputs to dynamics (so-called factitious forces), which preserve possibility to control dynamical model of skid steering mobile platform, expressed in auxiliary velocities. Factitious inputs do not exist in reality therefore it was assumed that they are equal to zero equivalently. Signals calculated from implicit functions defining factitious forces make possible to approximate slipping effects and they can be taken into account by construction of control law.

instance mobile manipulators [8]. The most popular are wheeled mobile platforms due to their low energy consumption. Depending on wheels' type and way in which they are fixed to the cart, motion of wheeled mobile platforms can be realized with or without slipping effect [1]. If platform's motion is realized without slipping effect between wheels and surface, then there exist equations describing forbidden directions for realized velocities of the system. Such equations are called nonholonomic constraints in platform's motion.
Special type of wheeled mobile robots are skid-steering mobile platforms (SSMP), which are equipped with more than one non-steer axis of fixed wheels. These platforms are called skid-steering mobile platforms due to skidding effect observed in their behavior: they cannot change motion direction without lateral slipping of wheels. Such SSMP platforms are actuated only by two motors on left and right side of vehicle. If platform has to change orientation then some difference between velocities on robot's both sides can be generated. SSMP type of construction is very popular in many practical applications, e.g. snow plow, excavator, self-propelled cannon etc. because it is very compact, durable and stable. Very often wheels mounted on each side of the cart are coupled by belt or track which makes SSMP platform more robust on uneven surface of motion.
Designing control algorithms for skid-steering platforms is a challenging task due to slipping effect occurring in platforms' motion. In [3] singular perturbation approach has been applied to describe and include slipping effects into mathematical model of wheeled mobile robot. Such method was valid only for very small value of slipping variable and, moreover, models defined for motion with and without slipping were inconsistent. Some attempt to extend method of singular perturbation into bigger slipping variable was presented in [19]. In turn, in [13] the authors have incorporated sliding variable into dynamical model of nonholonomic system.
Another control problem in SSMP platforms is rectangular input matrix B. Such matrix is usually m × 2 size and therefore it is non-invertible. It is consequence of only two control inputs, in this particular case one motor on the left side and second motor on the right side of vehicle, i.e. this leads to underactuation on dynamic level. First attempts to solve the problem of rectangular input matrix consisted of adding some artificial assumption about lateral slipping during the platform's motion. Such assumption can be considered as an artificial nonholonomic constraint [2] reducing number of admissible control inputs in object (m reduced to 2). Similar approach can be found e.g. in [4] or [9].
Different approach to the control problem for skidsteering platform has been presented in [14]. Authors have shown that skid-steering platform is an underactuated system on dynamic level with non-stationary kinematics -non-stationary velocity constraint. They have used tunable dynamic oscillator to get globally uniformly bounded stability of proposed control algorithm. The same idea can be found in [12] and [7].
First announcements about new concept in control of skid-steering platform can be found in [10]. The main idea of proposed method was to add some control inputs, so-called "factitious forces", to make input matrix B * square and invertible. After this operation total number of inputs is equal m. Because these additional control inputs don't exist in reality, it was assumed that they are equal to zero.
The main advantage of factitious forces is the fact, that they make possible to evaluate slipping effect and include them into model of moving platform. Additional state variables can be considered as signals coming from slipping phenomena and therefore they can be treated as some approximation of skid effect in platform. It is similar to the idea of "slipping variables" [13] which have significantly improved quality of realized trajectories of mobile robots moving with wheels' slippage.
In this paper a new approach to control problem of SSMP platforms will be presented. As it has been mentioned earlier, they can be considered as dynamically underactuated system. Till now control algorithm presented in literature tried to avoid problem of missing control inputs, e.g. assuming additional constraints, because underactuated mobile platform has got rectangular input matrix which is non-invertible. Problem with inverting such matrix, standing before control signals, can be solved with the idea of factitious forces. Such method was applied with success for SSMP platform with only one factitious force, see e.g. [10] but it was not sure if presented approach could be extended into situations with more factitious inputs. In this paper we give answer for a question about bounds of applications in the presented method. This is an essential novelty of this paper.
The paper is organized as follows. Section 2 presents theoretical design of mathematical models of nonholonomic SSMP platform, expressed in different coordinates. In Section 3 concept of factitious force in control of nonholonomic SSMP platforms is presented. Section 4 contains formulation of control problem considered in this paper. In Section 5 main result, i.e. new control algorithm including kinematic and dynamic control law, is designed. Section 6 contains results of simulation study. It shows results obtained for incorporating one factious force (Section 6.1), two forces (Sections 6.2, 6.3) and three forces (Section 6.4). Section 8 presents some conclusions.

Mathematical Model of Skid Steering Platform
SSMP platform consists of chassis and four conventional wheels, mounted on two axes -front axis and back axis, see Fig. 1.
Each wheel is fixed to the chassis (i.e. it can't change orientation relative to it) and decoupled. SSMP platforms usually have only two actuators -one on the left and one on the right side. In further considerations only wheel 1 and 4 are actuated. The distance from the front axis to the rear axis of robot is denoted as a. The half of platform width is signed as b.
SSMP platform should be considered as nonholonomic system with kinematic constraints in motion. It means that whole mathematical description of SSMP platform's motion consists of two groups of equations: kinematics with nonholonomic constraints and dynamics. Mathematical model of skid steering platform can be expressed in different coordinates which will be presented below.

Model in Generalized Coordinates
Motion of the mobile platform can be described by generalized coordinates q ∈ R n and generalized velocitiesq ∈ R n . The wheels of mobile platform should move without slipping effect in selected directions. Such assumption implies the existence of l (l < n) independent nonholonomic constraints expressed in Pfaffian form where A(q) is a full rank matrix of (l × n) size. Because of the nonholonomy of constraints, to obtain the dynamic model of SSMP platform the d'Alembert Principle [18] must be used where: Q(q) ∈ R n×n -inertia matrix of SSMP platform, C(q,q) ∈ R n×n -matrix of Coriolis and centrifugal forces, D(q) ∈ R n -vector of gravity, A(q) ∈ R l×n -matrix of nonholonomic constraints, λ ∈ R lvector of Lagrange multipliers, B ∈ R (n−l)×2 -input matrix, u ∈ R 2 -vector of controls.

Model in Auxiliary Velocities
Since the platform's velocity is always in the null space of A(q) it is always possible to find a vector of special auxiliary velocities η ∈ R m , m = n − l, such thaṫ where G is an n × m full rank matrix satisfying the relationship AG = 0. To express the model of dynamics using auxiliary velocities (3) for the SSMP platform it is necessary to computë q = G(q)η +Ġ(q)η and eliminate the vector of Lagrange multipliers by using the condition G T A T ≡ 0 and by left-sided multiplying SSMP platform equations by G T where the above symbols have the meaning The model (4) of the mobile platform's dynamics will be a point of departure for design of our dynamic control algorithm. It should be noted that the whole system consists of the dynamic model (4) together with the purely kinematic relationship (3). The most interesting part of dynamics (4) is input matrix B * (q). Such matrix has the size m × 2, where m = n − l.
This matrix is rectangular and, consequently, noninvertible. It means that dynamics defined by Eq. 4 are underactuated on dynamic level.

Concept of Factitious Force
One way of obtaining a square and invertible input matrix B * is to extend it with additional columns which represent virtual additional inputs. This can be done in two steps: 1. Extend control forces acting on object with additional forces that are equal to 0, as follows, e.g.
2. Extend vector of controls u with virtual inputs which are equal to 0, therefore all elements from additional columns will have no influence to the model. It means that in Eq. 5 u 3v ≡ 0.

Control Problem Statement
In this paper skid steering mobile platform is considered. Such object should move along desired trajectory without longitudinal slippage of selected wheels. Platform should move along desired trajectory q d (t) defined relative to basic frame X 0 Y 0 Z 0 . Our goal is to address the following control problem: 1. Determine control law u such that SSMP platform with known dynamics follows the desired trajectory.

During motion nonholonomic constraints have
to be fulfilled -platform should move without longitudinal slippage of selected wheels. 3. All factitious forces have to be equal to zero, because they do not exist in reality.
In order to design trajectory tracking controller for SSMP platform, it is necessary to consider a complete mathematical model of the nonholonomic system (3), (4) expressed in auxiliary variables. Mathematical model in auxiliary velocities has a structure of a cascade with two stages working simultaneously. From this reason it is necessary to use backstepping-like procedure [5] to control such system, see Fig. 2: • The first stage of the cascade is controlled by kinematic controller. It generates velocity profiles η r which guaranty fulfilling the desired task such as trajectory tracking. It works as "motion planner". • The second stage of the cascade is regulated by dynamic controller. It forces the real object to recreate desired velocity profiles η r by the auxiliary velocities η. Furthermore, it has to ensure that the factitious inputs are equal to 0.
Equations for the factitious inputs are implicit functions. From these equations it is necessary to derive expression forη r . The η r have meaning of slippage variables which disturb drift-less control system (3). Solving equations for the factitious control inputs resembles an attempt to estimate the slippage effects. Taking into account the solution increases the control quality.

Main Result -Control Law for Mobile Platform
As we have mentioned in previous section, control law for nonholonomic robotic object consists of two parts: kinematic controller and dynamic controller. Both control algorithms, working simultaneously, are necessary to solve the control problem of nonholonomic mobile platform.

Kinematic Control Algorithm
By designing kinematic controller it is worth to notice, that matrix G in Eq. 3 without additional input, i.e. only with selected columns, has the same form as the relevant matrix for unicycle. For this reason we have used kinematic control law appropriate for driving platform with only one fixed wheels axis. Such control law is characterized by considerable robustness even than noise and measurement errors occur during regulation process [6]. In other words, we treat signals coming from kinematic control law as some "approximation" of skid-steering mobile platform motion.
Hence, Samson controller [16] developed for the unicycle can be used where η 1d , η 2d and x d , y d , ϕ d are desired velocities and position coordinates for unicycle robot tracking given trajectory; in turn, η 1r and η 2r are reference velocities signals, developed in kinematic controller and used in dynamic controller.

Dynamic Control Algorithm
Let's choose the dynamic control algorithm based on modification of passivity-based sliding mode control law [17] given by Slotine & Li for robotic manipulators. If we assume that dynamics of the mobile platform are known then we can propose following control law where K d is positive definite diagonal matrix and errors can be defined as follows Closed-loop system (4) with feedback control (6) is given by

Proof of Convergence
For the system (7) we propose following Lyapunovlike function which is non-negative definite. We compute time derivative of V along solutions of the closed-loop system (7) From La Salle & Yoshizawa theorem, see [5] for details, it could be concluded that the error e η converges asymptotically to zero. In turn, convergence of e η to zero means that the the velocity profile generated by kinematic controller is successfully followed, and therefore one can conclude that the nonholonomic system i.e. skid-steering platform tracks the desired trajectory q d . It ends the proof.

Factitious Forces
It has been proved that dynamic control law (6) guarantees convergence of real auxiliary velocities η to the velocities η r designed by kinematic control law. Nevertheless not all elements of vector of reference velocities η r are defined in kinematic controller. Rest of them should be calculated from implicit functions defining factitious forces, i.e.
After integrating with any initial condition it is possible to obtain precise trajectory tracking for SSMP platform.

Simulation Study
The simulations were run with MATLAB package and SIMULINK toolbox. As an object of simulations we have taken skid-steering mobile platform equipped with two axes of fixed wheels. The parameters of the platform were: mass of the platform with wheels m c = 30 kg, mass of the wheel m w = 3 kg, platform moment of inertia I cw = 2m w a 2 + m w r 2 + 1 3 m c (a 2 + b 2 ) relative Z p axis, wheel moment of inertia relative Z p axis I w = 1 2 m w r 2 , half of platform width b = 0.3 m, distance a = 0.8 m between front and back axis of wheels, radius of wheel r = 0.254 m, symbols α = a sin ϕ − b cos ϕ and β = a cos ϕ − b sin ϕ. For simulations we have applied factitious force method for SSMP platform with different nonholonomic constraints. For each set of nonholonomic constrains, divided into five groups, two simulations were carried out. The first type of simulation intended to show how the SSMP platform is behaving on admissible trajectory -a circle. On the other hand, the second type of simulations shows how the vehicle behaves on an inadmissible trajectory -a square. For the second group, the vehicle is rapidly changing the desired orientation on edges of a square. This leads to increased input torque for the motors and can be observed as "spikes" on a plot.

Motion of the Platform without Longitudinal Slipping of All Wheels
For this case 4 nonholonomic constraints can be calculated -lack of longitudinal slipping of each wheel. For such situation Pfaff matrix has a form Above equations can be converted into drift-less system (3) with auxiliary velocities Approximate posture of SSMP platform can be calculated from first three rows of G 1234 . By assumption that slipping effect is absent, i.e. for n 3 ≡ 0, such matrix has the same form as for unicycle i.e. For this reason reference velocities η 1r and η 2r can be calculated similarly to signals in Samson algorithm (6).
In turn, dynamics of SSMP platform calculated for lack of longitudinal slipping of all wheels can be presented in form (4) with matrices defined as below • matrix of Coriolis and centrifugal forces • extended input matrix (if one factitious force is allowed) In dynamic control algorithm (6) third control signal does not exist in reality therefore it must be equal zero equivalently  Desired inadmissible trajectory has been chosen as a square trajectory. Such trajectory is more challenging in this sense that its realization in corners of square is impossible without infringement of nonholonomic constraints.
Real trajectory realized by the platform can be observed in Fig Similarly to previous case, dynamics of SSMP platform calculated for lack of longitudinal slipping of 1, 2 and 4 wheel can be presented in form (4) with matrices defined as below • extended input matrix (if two factitious forces are allowed) In dynamic control algorithm (6) third and fourth control signals don't exist in reality therefore they must be equal zero equivalently From such implicit functions it is possible to get expressions defining third and fourth reference velocities as followṡ η 3r = 1 4m c r 2 m c r 2 ((α sin ϕ + β cos ϕ)η 2r The simulation results are depicted in Figs It is easy to observe that approximate posture of SSMP platform can be calculated from first three rows of G 124 . By assumption that slipping effect is absent, i.e. for η 3 = η 4 = 0, such matrix has the same form as for unicycle (6) can be used for calculating reference velocities η 1r and η 2r . Dynamics of SSMP platform expressed for auxiliary velocities (4) have been presented below In dynamic control algorithm (6) third and fourth control signals don't exist in reality therefore they must be equal zero equivalently From such implicit functions it is possible to get expressions defining third and fourth reference velocities as followṡ Tracking of desired admissible trajectory, ie. circle, can be observed in Fig. 19. Cartesian errors for x, y and  (6) can be used for calculating reference velocities η 1r and η 2r .
Dynamics of SSMP platform expressed for auxiliary velocities (4) have been presented below • extended input matrix (if three factitious forces are allowed) In dynamic control algorithm (6) third, fourth and fifth control signals don't exist in reality therefore they must be equal zero equivalently From such implicit functions it is possible to get expressions defining third, fourth and fifth reference velocities as followṡ η 3r = 1 4m c r 2 m c r 2 ((α sin ϕ + β cos ϕ)η 2r It is easy to observe that approximate posture of SSMP platform can be calculated from first three rows of G 34 . By assumption that slipping effect is absent, i.e. for η 3 = η 4 = η 5 = 0, such matrix has the same form as for unicycle  (6) can be used for calculating reference velocities η 1r and η 2r .
Dynamics of SSMP platform expressed for auxiliary velocities (4)   • extended input matrix (if three factitious forces are allowed) In dynamic control algorithm (6) third, fourth and fifth control signals don't exist in reality therefore they must be equal zero equivalently From such implicit functions and with nonholonomic constrains described in form of the Pffaf matrix A 23 it is only possible to get expression defining third reference velocity. There is no solution for equations u 4 = 0 and u 5 = 0 in respect toη 4r andη 5r accordingly.

Possible Implementation
Used algorithm for dynamic controller requires full knowledge of the model. It is rarely seen that the full dynamic model is available. In this paper a control algorithm based on the full dynamic model was presented. However, this approach will most likely be insufficient in situation when the model is not fully known either structurally or quantitatively. Also there is a strong impact of the surface on which SSMP platform is moving. Unknown parameters of the surface can disrupt the control algorithm and lead to the instability of the system. However, the work presented in this paper was only limited to the influence of multiple factitious forces on the dynamic and quality of control of the presented SSMP model. Choosing a more suitable algorithm [11] or an adaptive version of the presented one can make up for the lack of full knowledge of the dynamic and maybe even can be a good start point for different surface types.
Besides the knowledge of dynamic also information about the velocities is required. Mobile platforms are usually equipped with position encoders which allow to derive angular position of the wheels. However, as mentioned on the beginning of this paragraph, the knowledge of velocities is required. This can be done by calculating the derivative of the angular position. On the other hand, the derivative calculation can be unstable for low speed but assuming that the platform is moving with considerable speed, which is required for slippage effect to occur, the method of calculating numerical derivative is sufficient. What is more, there are other methods that are more reliable and can be successfully implemented. Author acknowledge paper [15] on velocity measurement techniques which describes a method of mixed mode frequency/period measurement that proposes feasible solution to the problem.

Conclusions
In the paper extension of new control method for skid-steering mobile platform has been presented. It has been shown that such platform with velocity constraints is a nonholonomic system therefore it has a cascaded structure, which requires two simultaneously working controllers: kinematic controller -a 'motion planner' and dynamic controller. The most crucial fact is too small number of dynamic control inputs relative to number of state variables -it means that the system is underactuated on dynamic level.
In this article succeeding attempt to solve such control problem with so-called "factitious force" has been made. Concept of factitious force assumes that dynamics have additional control inputs u v , which do not exist in reality and therefore they have to be equal to zero. However, such assumption makes possible to invert input matrix, standing before control inputs in dynamic equations.
A group of simulations, in respect to different Pfaff matrices, has been presented proving that the factitious force method can be successfully applied to the control of a skid-steering mobile platform. Furthermore, it was shown that some of the nonholonomic constrains can be lifted which caused additional virtual inputs, hence the factitious force method can be extended. Different group of constrains involving lack of lateral slippage for driven wheels show that the method described in this paper has some limitations. However, the limitations are of physical nature. Allowing one or more driven wheels to be susceptible to the lateral slippage means that the wheel looses the contact with the surface. As a result it can be concluded that method of factitious forces can not be used for driven wheels.