# Predictive Control of Mobile Robot Using Kinematic and Dynamic Models

Authors: Manel Mendili; Faouzi Bouani
Journal: Journal of Control Science and Engineering
 (2017)

---

## Abstract

This paper presents a predictive control of omnidirectional mobile robot with three independent driving wheels based on kinematic and dynamic models. Two predictive controllers are developed. The first is based on the kinematic model and the second is founded on the dynamic model. The optimal control sequence is obtained by minimizing a quadratic performance criterion. A comparison has been done between the two controllers and simulations have been done to show the effectiveness of the predictive control with the kinematic and the dynamic models.


---

## Body

## 1. Introduction

In recent years, researches on mobile robots have increased significantly due to their flexible motions. With the complex environment for robots applications, higher requirements are put forward on the robots movements’ forms and movements’ abilities. Omnidirectional mobile robots compared with two-wheeled and four-wheeled mobile robots [1–7] have shown quick ability to move in any direction and to attain any orientation simultaneously in narrow workspaces, which greatly improves their adaptability and work ability. Each wheel is driven by a separate motor while wheel rolls rotate passively around their axes. Depending on combination of direction and speed of each wheel, a robot moves freely in any desired direction, without changing directions of wheels. Many researchers have investigated the modeling and control of the omnidirectional mobile robots: authors of [8] presented the concepts for a family of holonomic wheeled platforms that feature full omnidirectionality with simultaneous and independently controlled and translational capabilities. In [9], the researchers constructed a kind of omnidirectional base, derived its kinematical and dynamic models, and then presented a fuzzy controller to steer the robot. On the other hand, a mechanical design process and an independent PID wheel controllers have been introduced in [10] for the omnidirectional mobile platform, whereas in [11] a method of generating near-optimal trajectories for an omnidirectional robot is proposed; this method provided an efficient method of path planning and allowed a large number of possible scenarios to be explored in real time. Authors of [12] presented a PI feedback control method for an omnidirectional mobile platform which is equipped with three lateral orthogonal-wheel assemblies.In the other side, there are many methods to address the optimal control law of the mobile robot. In [13], the genetic algorithm (GA) is used for autonomous robot navigation and in [14] an optimal fuzzy PID controller is proposed. The neural networks were applied to solve the path planning problem of mobile robot [15].Trajectory tracking of mobile robots and path following are two of the major problems of motion control of autonomous vehicles as it can be seen in [16, 17]. The authors of [18] developed a process of generating near-optimal trajectories for an omnidirectional mobile robot and in [19] the point stabilization and trajectory tracking method are proposed via backstepping.MPC (model based predictive control) techniques are nowadays pretty popular in academic as well as in industrial control engineering [20]. In the concept of mobile robotics predictive strategies to path following and trajectory tracking also appeared to be very promising.Nevertheless, for computational reasons, MPC applications widely have been narrowed to linear models; consequently, in context of mobile robot, most model based predictive controllers utilize a linear model of robot’s kinematic to predict future system outputs [21, 22].This work includes an omnidirectional mobile robot modeling using the kinematic and the dynamic of the robot. We develop two predictive controllers based on, respectively, the kinematic and dynamic models.The rest of this paper is organized as follows. In Section2, the kinematic model of the omnidirectional wheeled mobile platform is presented in Cartesian-coordinates. Section 3 presents a dynamic model of the robot with its motors’ dynamics. In Section 4, the predictive controller is applied to address the path following problem. Section 5 conducts several simulations that are used for illustration of the effectiveness of the proposed control law joined with the proposed models. Section 6 concludes the paper.


## 2. Kinematic Model

Figure1 depicts the symmetric structure and geometry that is used to find the kinematic model of the mobile robot, where ϕ denotes the vehicle orientation.Figure 1
The model of the three-wheeled mobile robot.Due to structural symmetry, the vehicle has the property that the center of geometry coincides with the center of mass.The parameterL is the distance from each wheel to the center of mass, andV1,V2,V3 denote the translational velocities of each wheel.Wheels are numbered 1, 2, and 3 and are assigned clockwise with the angle between any two neighboring wheels being2π/3. In the global frameOXY, the robot position can be represented by (x,y). The orientation of the robot is denoted by ϕ. ψ is the wheel orientation with respect to mobile robot frame. The kinematic model of the three-wheeled omnidirectional mobile robot is described in [8] and is summarized by(1)V1=-x˙sin⁡δ+ϕ+y˙cos⁡δ+ϕ+Lϕ˙,V2=-x˙sin⁡δ-ϕ-y˙cos⁡δ-ϕ+Lϕ˙,V3=x˙cos⁡ϕ+y˙sin⁡ϕ+Lϕ˙.Then we have(2)V1V2V3=τϕx˙y˙ϕ˙,with(3)τϕ=-sin⁡δ+ϕcos⁡δ+ϕL-sin⁡δ-ϕ-cos⁡δ-ϕLcos⁡ϕsin⁡ϕL.Thus,(4)x˙y˙ϕ˙=τ-1ϕV1V2V3.In general cases, τ(ϕ) is nonsingular; we can then deduct(5)τ-1ϕ=-23sin⁡δ+ϕ-23sin⁡δ-ϕ23cos⁡ϕ23cos⁡δ+ϕ-23cos⁡δ-ϕ23sin⁡ϕ13L13L13L.As described in the next sections, the model predictive control law is computed in discrete time. Thus a discrete-time representation of this model becomes a necessity. We consider then a sampling period T and a sampling instant k and by applying Euler’s approximate to the kinematic model, we obtain these formulae:(6)xk+1=xk-Ts23V1ksin⁡ϕ+δ-23V2ksin⁡δ-ϕ+23V3kcos⁡ϕ,yk+1=yk+Ts23V1kcos⁡ϕ+δ-23V2kcos⁡δ-ϕ+23V3ksin⁡ϕ,ϕk+1=ϕk+Ts13LV1k+13LV2k+13LV3k.We can write it in a compact form X(k+1)=fXk,Uk, where (7)Xk=xkykϕk,U=V1kV2kV3k.We consider here the time-varying trajectory tracking problem. Given the time-varying path Xd(k)=xd(k)yd(k)ϕd(k)T, one defines the following tracking error vector:(8)Xe=X-Xd,xeyeϕe=xyϕ-xdydϕd.We associate a virtual robot having the same model as the controlled one with the desired trajectory; we then sample Xd asX and we write it in (9)xdk+1=xdk-Ts23sin⁡ϕd+δV1dk-23sin⁡δ-ϕdV2dk+23cos⁡ϕdV3dk,ydk+1=ydk+Ts23cos⁡ϕd+δV1dk-23cos⁡δ-ϕdV2dk+23sin⁡ϕdV3dk,ϕdk+1=ϕdk+Ts13LV1dk+13LV2dk+13LV3dk.When we write (9) in a compact way, Xdk+1=fXd,Ud.We then linearize the system model by calculating an error model with respect to a reference trajectory and we develop the kinematic model in Taylor series around the pointXd,Ud at each sampling timek. The formula of Taylor series development is as follows:(10)Xk+1=fXd,Ud+∂fX,U∂XX=XdU=UdX-Xd+∂fX,U∂UX=XdU=UdU-Ud.We obtain then the developed equations from (6) using (10):(11)xk+1=fXd,Ud+x-xd-23Tsϕ-ϕdV1dkcos⁡ϕd+δ-23Tsϕ-ϕdV2dkcos⁡δ-ϕd-23Tsϕ-ϕdV3dksin⁡ϕd-23TsV1-V1dsin⁡δ+ϕd-23TsV2-V2dsin⁡δ-ϕd+23TsV3-V3dcos⁡ϕd,yk+1=fXd,Ud+y-yd-23Tsϕ-ϕdV1dksin⁡ϕd+δ+23Tsϕ-ϕdV2dksin⁡δ-ϕd+23Tsϕ-ϕdV3dkcos⁡ϕd+23TsV1-V1dcos⁡δ+ϕd-23TsV2-V2dcos⁡δ-ϕd+23TsV3-V3dsin⁡ϕd,ϕk+1=fXd,Ud+ϕ-ϕd+13LV1-V1d+13LV2-V2d+13LV3-V3d.By using (11) and considering (9) in her compact form, we can find the following discrete-time system model:(12)Xek+1=AkXek+BkUek,with Ue(k)=U(k)-Ud(k) being its associated error control input.(13)Ak=10-23TsV1dcos⁡ϕd+δ-23TsV2dcos⁡δ-ϕd-23TsV3dsin⁡ϕd01-23TsV1dsin⁡ϕd+δ+23TsV2dsin⁡δ-ϕd+23TsV3dcos⁡ϕd001,Bk=-23Tssin⁡ϕd+δ23Tssin⁡δ-ϕd23Tscos⁡ϕd23Tscos⁡ϕd+δ-23Tscos⁡δ-ϕd-23Tssin⁡ϕd13L13L13L.


## 3. Dynamic Model

The derivation of the dynamic model is begun by the application of Newton’s second law:(14)m00mx¨wy¨w=fwxfwy,(15)Ivϕ¨=MI,where m is the mass of the mobile robot, Iv is the moment of inertia of the mobile robot, fwx and fwy are the Cartesian forces with respect to the world frame, and MI is the moment acting upon the gravity center of the mobile robot.We have the following relation betweenX˙w and X˙m and Fw and Fm:(16)x˙wy˙w=Rx˙my˙m,Fw=RFm.R and Fm are detailed as follows:(17)R=cos⁡ϕ-sin⁡ϕsin⁡ϕcos⁡ϕ,Fm=fxfy.The derivation of (22) gives us (18)x¨wy¨w=Rx¨my¨m+R˙x˙my˙m.Equation (14) needs to be transformed to the moving frame to aid the derivations. After transformation, we find the following equations [23]:(19)mx¨m-y˙mϕ˙=fx,my¨m+x˙mϕ˙=fy,where xm and ym refer to the Cartesian position with respect to the world frame in terms of the mobile robot frame.f
x
,
f
y, and MI are given by(20)fx=-sin⁡δD1-sin⁡δD2+D3,fy=cos⁡δD1-cos⁡δD2,MI=D1+D2+D3L,with Di being the driving force for each wheel.In addition, the dynamic characteristics of the driven system of each wheel are given by the following [23]:(21)Iwθ¨i+cθ˙i=krui-rDii=1,2,3,where c is the viscous friction factor of the wheel, r is the radius of the wheel, Iw is the moment of inertia of the wheel around the driving shaft, θi is the rotational angle of the wheel, kr is the driving gain factor, and ui is the driving input torque.The inverse kinematic equations for the mobile robot with respect to the mobile robot frame that relatesϕ˙,x˙m,y˙m with θ˙i are shown as follows:(22)rθ˙1=-x˙msin⁡δ-y˙mcos⁡δ+Lϕ˙,rθ˙2=-x˙msin⁡δ+y˙mcos⁡δ+Lϕ˙,rθ˙3=x˙m-Lϕ˙.We have used (22) and its derivates, we then plugged them into (21), and we solved Di to calculate the driving force due to each wheel. We subsequently substitute these values into (19) and then into (20). We write finally the following equations of motion. We considered here δ=2π/3:(23)x¨my¨mϕ¨=-3c3Iw+2mr22mr23Iw+2mr2ϕ˙02mr23Iw+2mr2ϕ˙-3c3Iw+2mr2000-3cL23IwL2+IVr2x˙my˙mϕ˙+-kr3Iw+2mr2kr3Iw+2mr2-2kr3Iw+2mr23kr3Iw+2mr2-3kr3Iw+2mr20-krL3IwL2+Ivr2-krL3IwL2+Ivr2-krL3IwL2+Ivr2θ˙1θ˙2θ˙3.We have to formulate (21) in the absolute frame; we use then the relation between Xm and Xw.To transform the previous equation system to a state space model, we take the following state variables:(24)x1=xwywϕ,x2=x˙1.DefiningX=x1x2 as the state variable for the robot and the manipulated variable U=u1u2u3T yields to the following state equation:(25)X˙=AcXX+BcXU,where(26)AcX=000100000010000001000-3c3Iw+2mr2-3IW3Iw+2mr2ϕ˙00003IW3Iw+2mr2ϕ˙-3c3Iw+2mr2000000-3cL23IwL2+IVr2,BcX=000000000kr-3sin⁡ϕ-cos⁡ϕ3Iw+2mr2kr3sin⁡ϕ-cos⁡ϕ3Iw+2mr22krcos⁡ϕ3Iw+2mr2kr3cos⁡ϕ-sin⁡ϕ3Iw+2mr2kr-3cos-sin⁡ϕ3Iw+2mr22krsin⁡ϕ3Iw+2mr2krL3IwL2+Ivr2krL3IwL2+Ivr2krL3IwL2+Ivr2.Model (25) is discretized using zero-order hold on the inputs and a suitable sampling time.The discrete model has the following equation:(27)Xk+1=AdkXk+BdkUk.


## 4. Predictive Control

The basic idea of predictive control consists in calculating, at each sampling instant, a control sequence on a prediction horizon aimed at minimizing a quadratic cost function. The control algorithm is based on the following:(i)
The use of a model to predict, on a future horizon, the output of the process(ii)
Computing the control sequence which minimizes a performance criterion which involves a sequence of the predicted outputWe use the state space model to find the following relation:(28)xk+i+1/k=fxk+i/k,uk+i,where i varies from 0 to N-1 and N is the prediction horizon.We define the error vectors;Ue=U-Ud. The objective function is formulated as follows: (29)J=∑j=1NXeTk+j/kQjXek+j/k+∑j=1NUeTk+j-1RjUek+j-1,where Q and R are weighting matrices for the error in the state and control variables.


### 4.1. Predictive Control for the Kinematic Model

We first introduce these vectors:(30)X-k+1=Xek+1/kXek+2/k⋮Xek+N/k,U-k=UekUek+1⋮Uek+N-1.Introducing the vectors in (30) with the function (29) allows us to write the cost function:(31)J=X-Tk+1Q-X-k+1+U-TkR-U-k,with Q-=diag⁡(Q;…;Q) and R-=diagR;…;R.We write from (11)(32)X-k+1=A-kXek/k+B-kU-k,where A- and B- are defined in (34) and (35) with α(k,j,l) being given by (33)αk,j,l=∏i=N-j1Ak+i/k,(34)A-=Ak/kAk+1/kAk/k⋮αk,2,0αk,1,0,(35)B-=Bk0⋯0Ak+1BkBk+1⋯0⋮⋮⋱⋮αk,2,1Bkαk,2,2Bk+1⋯0αk,1,1Bkαk,1,2Bk+1⋯Bk+N-1.We then write the objective function in a quadratic form by using (31) and (32). Then we obtain (37).H
(
k
) is aHessian matrix, and it is definite positive. It depicts the quadratic part of the objective function, and the vector which describes the linear part isf(k). We note thatd is independent of U- and has no influence on solving for the optimal input; thus (37) turns to a standard expression used in QP problems and the optimization problem that would be solved at each sampling time is written as follows:(36)J=12U-TkHkU-k+f-kU-Tk+dk,where(37)Hk=2B-TkQ-B-k+R-,fk=2B-TkQ-A-kXek/k,dk=XeTk/kA-TkQ-A-kXek/k.


### 4.2. Predictive Control for the Dynamic Model

Using the vectors (30), the successive computing of the states of (27) and making the difference, respectively, between the state and the control with the desired ones yield to this formula of the state model:(38)X-k+1=A-dkXek+B-dkU-k,with(39)A-d=AdAd2⋮AdN-1,B-d=Bd0⋯0AdBdBd⋯0⋮⋮⋱⋮AdN-2BdAdN-3Bd…0AdN-1BdAdN-2Bd⋯Bd.Introducing the relation of (38) in the cost function (29), the function to be minimized is then written as (37); however,H,f, andd have these formulae:(40)Hk=2B-dTkQ-B-dk+R-,fk=2B-dTkQ-A-dkXek/k,dk=XeTk/kA-dTkQ-A-dkXek/k.The resolution of (37) gives us the optimal control input.


## 4.1. Predictive Control for the Kinematic Model

We first introduce these vectors:(30)X-k+1=Xek+1/kXek+2/k⋮Xek+N/k,U-k=UekUek+1⋮Uek+N-1.Introducing the vectors in (30) with the function (29) allows us to write the cost function:(31)J=X-Tk+1Q-X-k+1+U-TkR-U-k,with Q-=diag⁡(Q;…;Q) and R-=diagR;…;R.We write from (11)(32)X-k+1=A-kXek/k+B-kU-k,where A- and B- are defined in (34) and (35) with α(k,j,l) being given by (33)αk,j,l=∏i=N-j1Ak+i/k,(34)A-=Ak/kAk+1/kAk/k⋮αk,2,0αk,1,0,(35)B-=Bk0⋯0Ak+1BkBk+1⋯0⋮⋮⋱⋮αk,2,1Bkαk,2,2Bk+1⋯0αk,1,1Bkαk,1,2Bk+1⋯Bk+N-1.We then write the objective function in a quadratic form by using (31) and (32). Then we obtain (37).H
(
k
) is aHessian matrix, and it is definite positive. It depicts the quadratic part of the objective function, and the vector which describes the linear part isf(k). We note thatd is independent of U- and has no influence on solving for the optimal input; thus (37) turns to a standard expression used in QP problems and the optimization problem that would be solved at each sampling time is written as follows:(36)J=12U-TkHkU-k+f-kU-Tk+dk,where(37)Hk=2B-TkQ-B-k+R-,fk=2B-TkQ-A-kXek/k,dk=XeTk/kA-TkQ-A-kXek/k.


## 4.2. Predictive Control for the Dynamic Model

Using the vectors (30), the successive computing of the states of (27) and making the difference, respectively, between the state and the control with the desired ones yield to this formula of the state model:(38)X-k+1=A-dkXek+B-dkU-k,with(39)A-d=AdAd2⋮AdN-1,B-d=Bd0⋯0AdBdBd⋯0⋮⋮⋱⋮AdN-2BdAdN-3Bd…0AdN-1BdAdN-2Bd⋯Bd.Introducing the relation of (38) in the cost function (29), the function to be minimized is then written as (37); however,H,f, andd have these formulae:(40)Hk=2B-dTkQ-B-dk+R-,fk=2B-dTkQ-A-dkXek/k,dk=XeTk/kA-dTkQ-A-dkXek/k.The resolution of (37) gives us the optimal control input.


## 5. Simulation Results

The aims of the simulations are to examine the effectiveness and performance of the predictive controllers based on the proposed kinematic and dynamic models. We have applied the above control strategy to the omnidirectional mobile robot. It was assumed that the control sampling period is 100 ms. The physical parameters of the mobile robot are as follows:(41)Iv=11.25kgm2,Iw=0.02108kgm2,c=5.983×10-6kgm2/s,m=9.4kg,L=0.178m,r=0.0245m,kr=1.We use the state variables at each sample time to calculate the state matrices of the robot because they change at each sample time depending on the state variables. We discretize it at each sample time; we have then an online variation of the model. We use the model predictive control to track the desired trajectory. We used here the prediction horizonN=5 and the weighting matrices Q and R:(42)Q-=0.5I3N,3N,R-=I2N,2N,where I3N,3N and I2N,2N are identity matrices with dimensions (3N, 3N) and (2N, 2N), respectively.The translational velocity of the robot in the absolute coordinate system isV=x˙w2+y˙w2 and the azimuth of the robot in the absolute coordinate system is ψ=θ+ϕ. We found then(43)x˙w=Vcos⁡ψ,y˙w=Vsin⁡ψ.So that we note that the omnidirectional mobile robot can separately achieve the translational motion and the rotational motion around the gravity center in the two-dimensional plane. To confirm this holonomic property we have fixed the desired rotation angleψd = π/4 rad.The path following is about following a predefined path which does not involve time as a constraint. Thus, the important thing is to follow the path and to reach the goal. The speed of the robot is a minor thing. On the contrary, trajectory tracking involves time as a constraint.(i) Path Following. We use the lemniscates trajectory which seems to be the most provocative trajectory tracking cases which has constant change of rotation radius with constant linear velocity. This trajectory is described by the following formula:(44)xdt=0.75+0.75sin⁡2πt50,ydt=0.75sin⁡4πt50.The robot’s angular switches according to the following equations:(45)ψdt=tan-1⁡8cos⁡2sin-1⁡4x/3-131-4x/3-120≤t<12.5-π-tan-1⁡8cos⁡2sin-1⁡4x/3-131-4x/3-1212.5≤t<37.5tan-1⁡8cos⁡2sin-1⁡4x/3-131-4x/3-12t≥37.5.The robot’s model begins from the initial position X=[0.75;0.2;π/3] as initial condition.The path following, the rotation angular, and the linear velocity are presented in Figures2–7. These figures show the perfect trajectory tracking of the predictive control based on the dynamic model unlike the kinematic model. Figure 2 shows that the posture error is kept different from zero. On the other hand, in Figure 5, the error is equal to zero. In addition to that, the convergence of the control input V to the fixed value 0.1 is faster in Figure 6 than that of the kinematic model in Figure 3; the rotation angle also is stabilized to the desired value at π/4 in a fewer time in Figure 7 than Figure 4. The dynamic model eliminates also the oscillations present in the linear velocity and the rotation angle.Figure 2
Lemniscate path following with the predictive control joined with the kinematic model.Figure 3
Linear velocity of the kinematic predictive control.Figure 4
Rotation angle with the kinematic predictive control.Figure 5
Lemniscate path following with the predictive control joined with the dynamic model.Figure 6
Linear velocity with the dynamic predictive control.Figure 7
Rotation angle with the predictive dynamic control.Figure4 shows the holonomic property of the robot that makes the robot follows xd and yd with a fixed angular rotation.(ii) Trajectory Tracking. The desired trajectory is defined as follows with a duration of movement tmax = 10 s.We used the cubic splines with a bang-bang speed profile and the trajectory reference would have these formulae:(46)xrt=2t2-10≤t<tmax2,xrt=-2t-tmax2tmax2≤t≤tmax,yrt=4t2-10≤t<tmax2,yrt=-4t-tmax2+1tmax2≤t≤tmax.The performances of the kinematic model are ameliorated from the path following case because here the trajectory is known in every sample time in advance; trajectory tracking, linear velocity, and rotation angle are shown in Figures 8–11. Nevertheless the dynamic model keeps a perfect resolution of the problem of trajectory tracking as the path following. The robot tracks x and y trajectories perfectly, which is shown in Figures 12 and 13, and converges to desired velocity and desired rotation angle in a short time, which is clear in Figures 14 and 15.Figure 8
Thex trajectory tracking using the predictive control joined with the kinematic model.Figure 9
They trajectory tracking using the predictive control joined with the kinematic model.Figure 10
Linear velocity in the kinematic predictive control.Figure 11
Rotation angle in the case of kinematic predictive control.Figure 12
Thex trajectory tracking using the predictive control joined with the dynamic model.Figure 13
They trajectory tracking using the predictive control joined with the dynamic model.Figure 14
Rotation angle in the case of dynamic predictive control.Figure 15
Linear velocity in the case of dynamic predictive control.The aim of the simulation results is to examine the effectiveness and performance of the proposed predictive control with the kinematic model and the dynamic model of the omnidirectional mobile robot. So we proposed two cases: the path following with no constraint of time and the trajectory tracking with a fixed time. The simulation results show that the predictive control is capable of steering the omnidirectional mobile platform to exactly track the desired cubic splines trajectory and follow the lemniscates path. Although the kinematic model is easier in formulation, the dynamic model uses more details that makes it better than the kinematic model since it is more reliable, fast, and exact.(iii) Future Works. Omnidirectional mobile robots are useful in many indoor service applications: industrial, medical, and domestic. The use of omnidirectional mobile robots instead of conventional robots with two independent wheels has full omnidirectionality with simultaneous and independently controlled rotational and translational motion. We have introduced here a kinematic model and dynamic model and developed a control system with high performances and our perspectives are to continue the experimental implementation.


## 6. Conclusion

This paper has presented an application of the model predictive control to solve problem of trajectory tracking and path following of omnidirectional mobile robot. Two different models are considered: the kinematic model and the dynamic model. Control algorithm has been applied for the path following using lemniscates path and trajectory tracking using cubic splines with a bang-bang velocity profile. These two cases are performed by using simulation program. The results show the effectiveness of the dynamic model in comparison with the kinematic one to track the trajectory and path without posture errors and to converge to the desired control value (linear velocity) and the desired rotation angle rapidly and without oscillations.



---

*Source: 5341381-2017-08-28.xml*