MPC-Based Path Following Control of an Omnidirectional Mobile Robot with Consideration of Robot Constraints

. In this paper, the path following problem of an omnidirectional mobile robot (OMR) has been studied. Unlike nonholonomic mobile robots, translational and rotational movements of OMRs can be controlled simultaneously and independently. However the constraints of translational and rotational velocities are coupled through the OMR’s orientation angle. Therefore, a combination of a virtual-vehicle concept and a model predictive control (MPC) strategy is proposed in this work to handle both robot constraints and the path following problem. Our proposed control scheme allows the OMR to follow the reference path successfully and safely, as illustrated in simulation experiments. The forward velocity is close to the desired one and the desired orientation angle is achieved at a given point on the path, while the robot’s wheel velocities are maintained within boundaries.


Introduction
In this paper, we address the path following problem where a mobile robot is forced to follow a desired spatial path without consideration in temporal specifications [1]. The solution of this problem offers several remarkable advantages over trajectory tracking [2]. For example, the time dependence of the trajectory tracking problem is eliminated, convergence to the path is achieved smoothly, and saturation of control signals is less likely reached. Original research on this area can be found in [3].
In general, the path following controller determines the robot's moving direction that can bring it to the path, while the robot's forward velocity tracks a desired velocity profile. In the literature, there are two control strategies for path parameterization [4], i.e., the Frenet frame with an orthogonal projection of a robot on the given path [3], [5], [6], [7] and the Frenet frame with a non-orthogonal projection of a robot on the given path [1], [8], [9], [10], [11], [12]. In the first method, the position of the virtual vehicle to be followed by a real one is defined by the orthogonal projection of the robot on the path. However, this method can be used only when the initial position of the robot is near the path. In the other method which can overcome the initial condition problem of the first method, a desired geometric path is parametrized by the curvilinear abscissa s ∈ R and the velocity of the virtual vehicle (ṡ(t)) can be controlled explicitly.
Although the path following problem has been solved for different types of robots over the past decade, omnidirectional mobile robots (OMRs) have been considered in this work since they have some distinct advantages over nonholonomic mobile robots. They can move instantly in any direction without reorientation [13]. They become increasingly popular in mobile robot applications as seen from a large number of publications dealing with OMRs. However, research study on path following control of OMRs is still rare. Some related work is as follows: Vazquez et al. [14] adapted computed torque control usually used in robot manipulators to the path following control problem of the OMR. Conceicao et al. [6] proposed a nonlinear model predictive control for an OMR. The cost function includes the robot pose error and the control effort. They followed the concept that the position of the virtual vehicle is defined by the orthogonal projection of the robot on the path. Huang and Tsai [15] applied an adaptive robust control method to the path following problem for an OMR with consideration of actuators' uncertainties in polar coordinates. Kanjanawanishkul and Zell [16] used model predictive control to generate an optimal velocity of the virtual vehicle. Recently, Oftadeh et al. [11] proposed a new solution to the path following problem where speed of the robot can be determined analytically to keep the steering and driving velocities of the wheels under predetermined values.
In this work, a model predictive control (MPC) approach for solving the path following problem of an OMR is designed.
The proposed idea is that the velocity of the virtual vehicle can be controlled explicitly through the MPC scheme. Although the translational velocity and the rotational velocity of an OMR can be controlled separately, their boundaries are coupled via the robot's orientation angle. Thus, both velocities are included into the objective function, while the robot's wheel velocity constraints and other robot constraints are satisfied in the constrained minimization problem of the MPC scheme that is online solved at each sampling time.
The rest of the paper is structured as follows: in Section 2., the robot kinematics is derived. The path following control problem is described and the path following controller based on the MPC strategy with consideration of robot constraints are developed in Section 3. Then, simulation experiments are conducted in Section 4. to show the effectiveness of our proposed controller. Finally, our conclusions are given in Section 5.

Kinematic Modeling
From Fig. 1, the kinematic model of an OMR can be given by: where R z (θ) is the rotation matrix that transforms the robot velocities with respect to the body frame (X m , Y m ) to the world frame (X w , Y w ).
x(t) = [x, y, θ] T is the state vector of the robot in the world frame and θ denotes the angle of the robot's orientation, u and v are the translational velocities observed in the body frame, while ω is the rotational velocity. Equation (1) can be rewritten by decoupling translation and rotation as follows: where φ denotes the angle of the robot's moving direction in the world frame and u R is the forward linear velocity of the robot. Furthermore, the robot translational velocities can be determined by: When the wheel velocities are taken into account, the following lower level kinematic model with respect to the body frame is given: where q(t) = [q 1 ,q 2 ,q 3 ] T is the vector of linear velocities of the wheel. It is equal to the wheel's radius multiplied by the wheel's angular velocity. L w denotes the distance from the platform center to the wheel center (see Fig. 1) to the center of wheel. δ refers to the angle of the wheel orientation in the body frame. Since the translational and rotational velocities of an OMR can be separately controlled, the wheel velocities can be divided into two components: where q t and q r are translational and rotational components for each wheel velocity, respectively.
As the motor's voltage and current are limited, the summation of these two components is bounded byq max , i.e., q t + q r ∞ ≤q max .

Fig. 2:
The relationship between wheel velocities and robot velocities with respect to the body frame: (a) the cube defined by The relationship between wheel velocities and robot velocities with respect to the world frame can be calculated by substituting Eq. (4) into Eq. (1), resulting in:ẋ where: with δ = π 6 rad. As an example, the linear transformation P(0) maps the cube Fig. 2(a)) into the tilted cuboid P(0)Q(t) (see Fig. 2(b)) with L w = 0.2 m and |q i (t)| ≤ 0.6 m·s −1 . The transformation R z (θ) then rotates this cuboid about the ω axis. As seen in Fig. 2(b), the boundary of translational and rotational velocities are coupled via θ.
Furthermore, for a given θ, the translational velocity may decrease in order that the allowable rotational velocity can increase, while all wheel velocities are kept within the cube Q(t). This concept is useful when the large rotational velocity is required, e.g., during converging the robot to the path or moving along a sharp turning. One simple solution is to scale the translational and rotational velocities, as proposed in [17]. However, this solution does not utilize the full capacity of the wheel's maximum velocity. In this work, an MPC-based method with consideration of robot constraints is proposed to ensure that the path following control is attained and the robot constraints are within boundaries.

The Path Following Control Problem and Controller Design
The Frenet frame plays the role of the body frame of the virtual vehicle moving long the reference path.
In general, the forward velocity u R tracks a desired velocity profile, while the velocity of the virtual vehicleṡ converges to u R . However, to utilize the full capacity of wheel velocities and to keep the wheel velocities within boundaries, the forward velocity cannot be fixed. Thus, an acceleration control input a m =u m , where u m is the robot's actual forward velocity, is introduced. Then, we obtain η e = u m − u R andη e = a m −u R . From Fig. 3, the error state vector x e = [x e , y e , φ e , θ e , η e ] T between the state vector of the robot and that of the virtual vehicle can be expressed in the Frenet frame as follows: where θ d is the desired orientation angle, and φ d is the tangent angle to the path. Note that, in this work, the desired orientation angles of the robot are predetermined on the path. This setting is very useful when the robot is required to orient itself to a specific direction. The error state dynamic model chosen in the Frenet frame is derived using Eq. (1), Eq. (2) and Eq. (7), resulting in:ẋ e = y e κ(s)ṡ −ṡ + u m cos φ e , where κ(s) is the path's curvature. From Eq. (9), the following system control inputs are redefined: The error dynamic model defined in Eq. (9), Eq. (10), Eq. (11), Eq. (12), Eq. (13) and Eq. (14) is used in the MPC framework designed in the next subsection. Moreover, to show the effectiveness of our control scheme, a comparison with the feedback control laws proposed by Oftadeh et al. [11] has been conducted (see Subsection 3.2.). MPC is one of the most successful control techniques used in industry. It is based on a minimization of predicted tracking errors and control effort with constraints on the control inputs and the state variables over a finite horizon. At each sampling time, it generates an optimal control input sequence after the minimization problem is solved. The first element of this control input sequence is applied to the system. The problem is then solved again at the next sampling time with the updated process measurements and a shifted horizon. The conceptual structure of MPC is depicted in Fig. 4. The reader is referred to [18] and [19] for more details.

MPC Design
Although MPC is obviously not a new control method according to a review paper on MPC for a mobile robot [20], there is a small number of publications dealing with MPC for path following problems. Thus, the aim of this paper is to achieve path following control for an OMR in such a way that the robot's forward velocity is close to the desired one and the path following control is attained. Furthermore, robot constraints can be handled straightforwardly as hard constraints in the optimization problem so that the robot can travel safely without constraint violations.
The control input applied to the system is obtained by solving the following finite horizon open-loop optimal control problem at each sampling time: subject to:ẋ where F (x,ū) =x T Qx +ū T Rū. The bar denotes an internal controller variable. At the beginning of each sampling time,x = x e ,ū = u e . T p represents the length of the prediction horizon, and T c denotes the length of the control horizon (T c ≤ T p ). The deviations from the desired values are weighted by the positive definite matrices Q, and R, where: • Q = diag{q 11 , q 22 , q 33 , q 44 , q 55 }, • R = diag{r 11 , r 22 , r 33 , r 44 }.
A so-called contractive constraint [21] is defined in the last inequality end constraint Eq. (19). It requires that, at time t, the system states at the end of the prediction horizon, i.e.,x(t + T p ) are contracted in norm with respect to the states at the beginning of the prediction,x(t). β ∈ [0, 1) and the positive definite matrix P are two parameters that determine how much contraction is required. The reader is referred to [21] for stability analysis.

Feedback Control Laws with Low-Level Constraint Handling
The following feedback control laws forṡ, ω and φ taken from [11] with slight modification is given by: where: σ(y e ) = arcsin k 2 y e |y e | + , k s = k 1 x e + cos(σ(y e )), The proof for semi-global exponential stability can be found in [11] with u R > 0. To handle the robot constraints, a conventional approach shown in Alg. 1 has been used. However, this solution does not utilize the full capacity of the wheel's maximum velocity as shown in the simulation results. In Alg. 1, each component of the wheel velocities is scaled down such that no components are out of acceptable bounds. Function max() returns the maximum value in the array.

Simulation Experiments
The control strategy proposed in this work was evaluated through simulation experiments. The following eight-shaped path was considered as a desired reference path: This reference path was numerically parameterized by the curvilinear abscissa s, while the robot's desired orientation angles were given as follows: θ d (s) = πs · 2 −1 , 0, and πs · 2 −1 at s = 0.0 − 4.0 m, s = 4.0 − 8.0 m, and s = 8.0 − 12.0 m, respectively. All snapshots shown in the simulation results were taken at every 2 s (except for the last one).
Three simulation experiments were conducted and the results were compared. In each simulation, the initial conditions for the OMR were given as: The forward velocity u R was 0.6 m·s −1 , and a total traveling distance was 10 m. The feedback control laws without consideration of actuator constraints were first implemented. The control parameters were set as follows: k 1 = 1.1 m −1 , k 2 = 0.5, k 3 = 10 m −1 . As seen in Fig. 5(a) and Fig. 5(b), although the OMR followed almost exactly the reference path, this control scheme cannot be used in practice due to constraint violation.
In the second simulation experiment, the feedback control laws with low-level constraint handling described in Subsection 3.2. were implemented with the same values of control parameters. As seen in Fig. 6(a), there were some deviations from the desired reference path at sharp corners, which means poor performance for path following control. However, the wheels' velocity constraints were not violated, as required.

Conclusions
An OMR with no nonholonomic constraints has remarkable advantages over more common design platforms like car-like robots and differential drive robots.
In particular, it can move in any direction regardless of current pose and, at the same time, it can attain any desired orientation. Thus, this kind of maneuverability is especially preferred for congested applications.
In this paper, we presented an MPC scheme to solve the path following control problem of an OMR. The proposed MPC controller can handle robot constraints straightforwardly. Thus, the OMR can follow a reference path safely. Moreover, the forward velocity was optimized in the sense that it decreased when the large rotational velocity was required and it was close to the desired one when the capacity of the wheel's velocity was available.