HUNGARIAN JOURNAL OF INDUSTRY AND CHEMISTRY VESZPRÉM Vol. 42(2) pp. 91–95 (2014) QUASI-POLYNOMIAL REPRESENTATION-BASED CONTROL OF MECHANICAL SYSTEMS LÁSZLÓ NEUKIRCHNERB AND ATTILA MAGYAR Department of Electrical Engineering and Information Systems, University of Pannonia, Egyetem u. 10., Veszprém, 8200, HUNGARY BE-mail: neu.groszber@gmail.com A simple kinematic model of a differential steering mobile robot is investigated using a nonlinear technique based on the quasi-polynomial representation of the dynamical model. Dynamical systems can be embedded in the generalized Lotka-Volterrs (or quasi-polynomial) form under mild conditions. Quasi-polynomial systems are good candidates for a general nonlinear system representation, since their global stability analysis is equivalent to the feasibility of a linear matrix inequality. The stabilizing quasi-polynomial state feedback controller design problem is equivalent to the feasibility of a bilinear matrix inequality. The classical stabilizing state feedback problem for quasi-polynomial systems was extended with the ability of tracking time-dependent reference signals. It is shown that the stabilizing quasi-polynomial controller design is equivalent to a bilinear matrix inequality. The results are applied to the model of the differential steering mobile robot. The goal reaching quasi-polynomial controller is shown to be a special kind of proportional state feedback. Keywords: quasi-polynomial, robotics, differential drive robot, control systems, kinematics, Lotka-Volterra system Introduction Trajectory and goal tracking of mobile robots is an inten- sively studied field of modern robotics as well as mod- ern control theory. Several papers deal with an adaptive output feedback approach [1]. On the other hand some groups try to apply neural network-based methods for the task [2]. Another direction is to describe the prob- lem as an optimal control problem and apply optimal control results for it [3]. The class of quasi-polynomial (QP) systems plays an important role in the theory of nonlinear dynamical systems because nonlinear systems with smooth nonlinearities can be transformed into quasi- polynomial form Ref.[4]. This means, that any applicable method for quasi-polynomial systems can be regarded as a general technique for nonlinear systems [5]. The aim of this work is to widen the applicability of the quasi- polynomial representation-based methods to the class of mechanical systems, more precisely to mobile robots. The goal reaching problem of a differential steering mo- bile robot is reformulated as a globally stabilizing feed- back design problem in the quasi-polynomial framework. Basic Notions Differential Drive Mobile Robot Kinematics The chosen mechanical system is the kinematic model of a two wheeled differential drive mobile robot Eq.(1). The model deals with the geometric relationships that govern the system. It calculates the motion without considering the affecting forces. The system’s states are the Cartesian coordinates x, and y and the orientation θ of the mobile robot. The basic kinematic model of the differential drive robot is given by θ̇ = r 2a (ωleft −ωright) ẋ = r 2 cos(θ)(ωleft + ωright) ẏ = r 2 sin(θ)(ωleft + ωright), (1) where a is half the shaft’s diameter, r is the radius of the wheels and ω is the angular velocity of the right or left wheel. To order the robot to reach a specific goal, it is acceptable to design a proportional controller to govern the expected trajectory Eq.(2) [6] . In this case, the model is modified to calculate the state errors between the or- dered and the present value. The new error model with proportional gain is ẋ = Kv(edis cos(θ) −x(t)) ẏ = Kv(edis sin(θ) −y(t)) θ̇ = Kh(eang −θ(t)) edis = √ (xg −x(t))2 + (yg −y(t))2 eang = arctan ( 2 yg −y(t) xg −x(t) ) , (2) where Kv is the velocity control gain, Kh is the rotational velocity control gain, edis is the distance error, eang is the 92 angular error, and xg, yg are the Cartesian coordinates to reach. Quasi-Polynomial Representation of Nonlinear Systems Some basic notions of quasi-polynomial and Lotka- Volterra systems are summarised in this section. Generalised Lotka-Volterra Form Representing an ODE in generalised Lotka-Volterra (GLV) form can increase the structural simplicity in ex- change for increasing its dimension. The GLV or quasi- polynomial (QP) form: ẋi = xi ( λi + m∑ i=1 Aij · n∏ k=1 x Bij k ) , i = 1, . . . ,n, m ≥ n (3) where A and B are n × m, m × n real matrices, and λ ∈ Rn is a vector. The set of non-linear ODEs can be embedded into QP form if it meets two requirements: (i) The non-linear ODEs should follow this form: ẋs = ∑ is1...isn,js ais1...isn,jsx is1 1 . . .x isn n f(x̄) js, xs(t0) = x 0 s, s = 1 . . .n (4) where ais1...isn,js�R,s = 1 . . .n, and f(x̄) is some scalar function which cannot be reduced to quasy-monomial form. (ii) The partial derivatives of the system Eq.(4) should fulfil: ∂f ∂xs = ∑ es1...esn,es bes1...esn,esx es1 1 . . .x esn n f(x̄) es, (5) where bes1...esn,es�R,s = 1 . . .n. By embedding, we in- troduce the new auxiliary variable: y = fq n∏ s=1 xpss. q 6= 0 (6) Differentiating the new, substituted equations we get the QP representation of the original equation Eq.(4): ẋs = xs   ∑ is1...isn,js ( ais1...isnjsy js/q n∏ k=1 xisk−δsk−jspk/q )] , s = 1 . . .n (7) where δsk = 1 if s = k and 0 otherwise. A new additional dimension appears as the ODE of the new variable y: ẏ = y [ ∑ is1...isn,js ( psx −1 s ẋs + + ∑ isα,js esα,es aisα,jsbisα,jsqy (es+js−1)/q × × n∏ k=1 x isk+esk+(1−es−js)pk k )] . α = 1 . . .n (8) It is important to mention that the new ODE is not unique because we can choose the parameters ps and q. The quasi-monomial transformation is defined as: xi = n∏ k=1 x Cik k , i = 1 . . .n (9) where C is an arbitrary invertible matrix. The matrices of GLV can be modified as B̂ = B ·C,  = C−1 ·A, and λ̂ = C−1·λ, and the transformed set is also in GLV form. Lotka-Volterra Models The above family of models is split into classes of equiva- lence according to the values of the products M = B A and N = B L. The Lotka-Volterra form gives the rep- resentative elements of these classes of equivalence. If rank(B) = n, then the set of ODEs in Eq.(3) can be embedded into the following m-dimensional set of equa- tions, the so-called Lotka-Volterra model: żj = zj ( Nj + m∑ i=1 Mjizi ) , j = 1, . . . ,m (10) where M = B A, N = B L, and each zj represents a so-called quasi-monomial: zj = n∏ k=1 y Bjk k , j = 1, . . . ,m. (11) Input-Affine QP Model The well known input-affine model of nonlinear sys- tems is given in the following state space model: ẋ = f(x) + p∑ j=1 gj(x)uj where f ∈ Rn → Rn, and gj ∈ Rn → Rn are QP functions and the input variable u is p-dimensional. In 93 Figure 1: Membership functions for angular error this case we need a QP form with the matrices from the GLV form ODE set: ẋi = xi  λi + m∑ j=1 A′ij n∏ k=1 x Bjk k   + + p∑ l=1 xi  µli + m∑ j=1 Clij n∏ k=1 x Bjk k  ul. i = 1 . . .n (12) It can be proven that if u = H(x) state feedback is in QP form, the closed-loop system remains in QP form as well, but the quasi-monomials of the system will be greater, than the system’s without the feedback. Global Stability Analysis Global equilibrium points can be obtained by finding a Lyapunov function V (·). For LV systems there is a well known Lyapunov function family: V (z) = m∑ i=1 ci ( zi −z∗i − ln zi z∗i ) , ci ≥ 0, i = 1 . . .m (13) and the time derivative: V̇z = ∂V (z) ∂z · ∂z ∂t = = 1 2 (z −z∗)(C M + MT C)(z −z∗), (14) where z∗ = (z∗1 . . .z ∗ m) T is the unique positive equilib- rium point, C = diag(c1, . . . ,cm) and M is the invari- ant coefficient matrix of the LV form. If C MT + M C is negative semi-definite then z∗ is stable and if nega- tive definite then z∗ is asymptotically stable. The global stability analysis is thus equivalent to the linear matrix inequality C MT + M C ≤ 0 C > 0. (15) The presented Lyapunov function Eq.(13) can be ex- tended to GLV systems by embedding the system using the LV coefficient matrix M = B A. It is necessary to solve the LMI system Eq.(15) for the stability analysis of the QP and LV system:( C 0 0 −C MT −M C ) > 0 (16) Controller Design in Quasi-Polynomial Representation The globally stabilizing QP state feedback design prob- lem for QP systems can be formulated as follows [7]. Consider arbitrary quasi-polynomial inputs in the form: ul = r∑ i=1 kilq̂i, l = 1 . . . ,p (17) where q̂i = q̂i(y1, . . . ,yn), i = 1, . . . ,r are arbitrary quasi-monomial functions of the state variables of the system and kil is the constant gain of the quasi-monomial function q̂i in the l-th input ul. The closed-loop system will also be a QP system furthermore, the closed-loop LV coefficient matrix M̂ can also be expressed in the form M̂ = B̂  = M0 + p∑ l=1 r∑ i=1 kilMil. (18) Then the global stability analysis of the closed-loop sys- tem with unknown feedback gains kil leads to the follow- ing bilinear matrix inequality M̂ T C + CM̂ = M0 TC + CM0+ p∑ l=1 r∑ i=1 kil ( Mil TC + CMil ) ≤ 0. (19) The variables of the BMI are the p × r kil feedback gain parameters and the cj, j = 1, ..,m parameters of the Lyapunov function. If the BMI above is feasible then there exists a globally stabilizing feedback with the se- lected structure. Quasi-Polynomial Control of a Differential Drive Mobile Robot Quasi-Polynomial Representation of the Kinematic Model With the given differential drive robot model Eq.(1) and the explained error model Eq.(2) the QP representation can be built. The fist step as mentioned, is to find the new auxiliary variables, that help to eliminate the non-QP ex- pressions. The newly chosen auxiliary variables are: α = cos(θ), β = sin(θ), γ = arctan ( 2 yg −y xg −x ) , δ = (xg −x)2 + (yg −y)2, and � = √ δ + (xg −x). (20) 94 −2 0 2 4 6 0 2 4 6 start finish x [m] y [m ] PID QP Fuzzy Figure 2: Comparison of different controllers By substituting them into the original system Eq.(2) and performing the differentiation of the new equations Eq.(20): ẋ = x ( Kv √ δα x −Kv ) ẏ = y ( Kv √ δβ y −Kv ) θ̇ = θ ( Khγ θ −Kh ) α̇ = α ( −β α ) β̇ = β ( α β ) (21) γ̇ = γ· ( −2Kvβ √ δ γ� +Kvy γ� −Kvxgβ γ� +Kvxβ γ� + Kvxgy γ� √ δ −Kvxy γ� √ δ + Kvygα γ� −Kvyα γ� −Kvygx γ� √ δ +Kvxy γ� √ δ ) (22) δ̇ = δ ( −2Kvxgα√ δ + 2Kvxgx δ + 2Kvxα√ δ −2Kvx 2 δ −2Kvygβ√ δ + 2Kvygy δ + 2Kvyβ√ δ −2Kvy 2 δ ) (23) �̇ = � ( −Kvxgα � +Kvxα � + Kvxgx � √ δ −Kvx 2 � √ δ −Kvygβ � +Kvyβ � + Kvygy � √ δ −Kvy 2 � √ δ +Kvα � −Kvx � √ δ ) (24) Figure 3: Membership functions for distance error The closed-loop QP system Eq.(21-24) has 29 quasi- monomials. x : α √ δx−1 y : β √ δy−1 θ : γθ−1 α : βα−1 β : αβ−1 γ : β √ δγ−1�−1, yγ−1�−1, βγ−1�−1, xβγ−1�−1, yγ−1δ−1/2�−1, αγ−1�−1, yαγ−1�−1, xγ−1δ−1/2�−1 δ : αδ−1/2, xδ−1, xαδ−1/2, x2δ−1, βδ−1/2, yδ−1, yβδ−1/2, y2δ−1 � : α�−1, xα�−1, x�−1δ−1/2, x2�−1δ−1/2, β�−1, yβ�−1, y�−1δ−1/2, y2�−1δ−1/2, (25) The QP system Eq.(21-24) can obtain the GLV form in- variants with the help of monomials. These matrices are: A the coefficient matrix, B the exponential matrix and λ the constant’s matrix. The in- variant matrix product BA results in the LV coefficient matrix M, which is necessary for the global stability analysis. Controller Design As the original model Eq.(2) already contains the propor- tional controller parameters Kh and Kv, they naturally appear in the QP and Lotka-Volterra forms, respectively. The closed-loop Lotka-Volterra coefficient matrix M contains the proportional gains in a linear manner Eq.(26) [7] M = M0 + Kh Mh + Kv Mv, (26) where M ∈ R29×29. This means, that the globally sta- bilizing feedback design BMI can be formulated, and checked for feasibility. The controller design is practically solved as a control-Lyapunov function-based state feedback. The prescribed Lyapunov function parameters are c1,2,3 = 0.1, c4,5 = 1 and c6−29 = 0. The control gains are ob- tained by solving an LMI version of the feedback design BMI by substituting C into Eq.(19). The obtained values are Kh = 2.78 and Kv = 0.8. 95 Table 1: Rules for the fuzzy controller ∧ ∧ eang edis ωleft ωright ZERO ZERO ⇒ ZERO ZERO POS ZERO POS NEG ZERO NEG POS ZERO POS POS POS POS POS POS ZERO POS ZERO POS Comparison of Results for Different Controller Types The first and most basic method was the proportional controller approach. This was explained in the second chapter. This is a more systematic approach, but with the increasing non-linearities it is becoming a more difficult method to solve. Fig.3 shows that the robot moves on a significantly wider curve compared to the other two de- signs. Secondly a fuzzy controller was designed to com- pare the original design to. This is a much more intuitive approach, the physical nonlinearities were easily imple- mentable with the cost of inaccuracy. This can be seen in Fig.3, where the robot travels on a much smaller curve. Table 1 shows the definition of the rules. The member- ship functions follow simple triangular shapes according to the acceptable rate of angular and velocity changes. The QP controller performance can be seen in Fig.3. where a classical PID controller and a fuzzy logic con- troller are also shown. It is apparent, that the QP con- troller performs well by means of the length of the trajec- tory. Conclusions A quasi-polynomial representation-based nonlinear con- trol design method has been applied to the kinematics of a differential steering mobile robot in this work. It has been shown, that the quasi-polynomial model of the mo- bile robot’s kinematics extended with the tracking error dynamics has 29 quasi-monomials, i.e. the sizes of matri- ces appearing in the bilinear matrix inequality that should be solved for a globally stabilizing feedback controller Acknowledgement This research was supported by the European Union and the State of Hungary, co-financed by the European Social are reasonably great. The resulting controller and the tra- jectory were compared to the trajectories of a reference PID controller and a fuzzy logic controller. It can be seen that the controller performs satisfactorily. Possible future directions include the application of the LMI and /or BMI cost function to introduce some optimality measure to the problem to be minimised. A next step would be the appli- cation of a time dependent goal position (i.e. a trajectory). Fund in the framework of the TÁMOP 4.2.4. A/2-11-1- 2012-0001 ’National Excellence Programme’. REFERENCES [1] HUANG J., WEN C., WANG W., JIANG Z.-P.: Adap- tive output feedback tracking control of a nonholo- nomic mobile robot, Automatica, 2004, 50(3), 821– 831 [2] MOHARERI O., DHAOUADI R., RAD A.B.: Indirect adaptive tracking control of a nonholonomic mobile robot via neural networks, Neurocomputing, 2012, 88, 54–66 [3] LI J., GUO X., LI Z., CHEN W.: Stochastic Adap- tive Optimal Control of Under-actuated Robots Us- ing Neural Networks, Neurocomputing, 2014, 142, 190-200 [4] HERNÁNDEZ-BERMEJO B., FAIRÉN V.: Nonpoly- nomial vector fields under the Lotka-Volterra normal form, Phys. Lett. A, 1995, 206, 31–37 [5] MAGYAR A., FODOR A.: Quasi-polynomial Control of a Synchronous Generator, Hung. J. Ind. Chem., 2013, 41(1), 55–61 [6] TZAFESTAS S.G.: Mobile Robot Control I: The Lyapunov-Based Method, in Introduction to Mobile Robot Control (TZAFESTAS S.G., ed.) Elsevier, Ox- ford, 2014, 137–183 [7] MAGYAR A., SZEDERKÉNYI G., HANGOS K. M.: Globally stabilizing feedback control of process systems in generalized Lotka-Volterra form, J. Proc. Contr., 2008, 18(1), 80–91