0% found this document useful (0 votes)
9 views

mpc NEW DONE

mpc NEW DONE done done done

Uploaded by

aaronuha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

mpc NEW DONE

mpc NEW DONE done done done

Uploaded by

aaronuha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

International Journal of Mechanical Engineering and Robotics Research Vol. 11, No.

6, June 2022

Design a Nonlinear MPC Controller for


Autonomous Mobile Robot Navigation System
Based on ROS
Hiep Do Quang
University of Economics-Technology for Industries, Hanoi, Vietnam
Email: [email protected]

Thang Le Tran
Controls, Automation in Production and Improvement of Technology Institute Hanoi, Vietnam
Email: [email protected]

Tien Ngo Manh


Institute of Physics, Vietnam Academy of Science and Technology, Hanoi, Vietnam
Email: [email protected]

Cuong Nguyen Manh* and Toan Nguyen Nhu


Hanoi University of Science and Technology, Hanoi, Vietnam
Email: {manhcuong313.ng, toan.nn110899}@gmail.com

Nam Bui Duy


VNU University of Engineering and Technology, Hanoi, Vietnam
Email: [email protected]

Abstract—Navigation is an essential problem for self- obstacles, where the robot's moving space is limited,
propelled robots, in which the orbital control system plays a omnidirectional robots are commonly used in indoor
decisive role in the robot's behavior and navigating the robot environments such as factories, warehouses, laboratories.
to move in space. This paper presents the tutorial approach
for the design and construction of the Nonlinear Model Therefore, the increasingly advanced wheel structure has
Predictive Control controller for the four-wheeled Omni been researched and manufactured to help the robot move
robot in the orbital tracking problem. The designed flexibly in all directions. The Omni wheel is a popular
controller is implemented in the navigation stack system for omnidirectional wheel used for mobile robotic
the robot to follow the specified trajectory smoothly and applications in the home. The Omni wheel has a series of
avoid collision with surrounding obstacles simultaneously. free-moving rollers centrally mounted and perpendicular
The results are presented in both theory and simulation cases
owing to the ROS platform to illustrate the validity and
to the wheel. Therefore, in addition to the ability to rotate
effectiveness of the method for the trajectory tracking around the axis, the Omni wheel can slide to help the robot
problem combined with the navigation stack system. Besides move more flexibly [1], [2].
the advantage of the designed navigation stack is also Nonlinear Model Predictive Control (NMPC), referred
demonstrated through comparison with the TEB planner. to as the receding horizon control, is an optimization-based
time-domain method for the closed-loop control of the
Index Terms—Nonlinear Model Predictive Control (NMPC),
nonlinear system. The primary advantage of NMPC is that
Omni robot, trajectory tracking, navigation, Robot
Operating System (ROS) it can explicitly handle system constraints in the control
process, which are generally neglected in traditional
methods [3]-[7]. However, most mechanism systems
I. INTRODUCTION always exit many different constraints due to the limited
capacity of actuators, the conditions of surrounding
Currently, mobile robotics is one of the most extensive environments, or some economic considerations. As in
research fields and becoming more popular in the industry. traditional linear MPC, NMPC computes control actions at
Mobile robots can move automatically in many different each control interval using a combination of model-based
environments. In an indoor environment with many

Manuscript received December 6, 2021; revised February 12, 2022.


*Corresponding author

© 2022 Int. J. Mech. Eng. Rob. Res 379


doi: 10.18178/ijmerr.11.6.379-388
International Journal of Mechanical Engineering and Robotics Research Vol. 11, No. 6, June 2022

prediction and constrained optimization. However, for a


nonlinear system like our robot, along with the
requirement for fast response of the controller, the linear
controller will have many challenges and may lead to
divergence in some cases. Besides, by using the NMPC
controller, the controller can consider the nonlinear
properties of the system. Therefore, NPMC is a preferable
method when solving engineering issues in the presence of
system constraints. The mobile robot system's constraints
can come from each wheel's maximum velocity,
acceleration, and distance to the surrounding obstacles to
avoid the collision. In [8], an MPC controller is proposed Figure 1. The robot model in the global coordinate
for the trajectory tracking problem of omnidirectional
Particularly, the distribution of four wheels on the robot
wheeled mobile robot based on linearizing the kinematic
 3 5 7
model to predict the future system's states, and the is 1 = ,  2 = , 3 = , 4 = respectively.
constraint on control signal is taken into account. Caireta 4 4 4 4
et al [9] present a model predictive control for the Besides, the wheel radius is denoted as R , the distance
mecanum-wheeled robot using its dynamic model to from the center of the robot to each wheel is d . The
minimize energy consumption and simultaneously avoid velocity of the robot includes the linear velocity vx , v y in
obstacles when moving towards the determined goal. In the x, y axis, respectively, the angular velocity  . The
[10], a concept of virtual vehicle and model predictive forward kinematic equation has the following form:
controller are combined to ensure that the mobile robot can
follow the desired trajectory while satisfying motion − 2 − 2 2 2
 
constraints.
 8 8 8 8   1 
Navigation is a primary but vital task for any automated  vx   
  R 2 − 2 − 2 2  2 
mobile robot system. Much research [11]-[14] has u = v y  =   (1)
concentrated on the smooth trajectory tracking of mobile   3  8 8 8 8  3 
robots as they navigate in the environment. Theoretically,    1 1 1 1  4 
when the robot is assigned to maneuver to a specified  
 4d 4d 4d 4d 

destination in the environment, it first computes the
continuous path which connects the current position of the Assuming that
robot with its goal, then computes a set of appropriate
commands, i.e., velocity, acceleration, to follow the − 2 − 2 2 2
 
trajectory while avoiding collision with surrounding  8 8 8 8 
obstacles. Therefore, this paper is presented as a tutorial R 2 − 2 − 2 2
approach towards the problem of designing an effective H1 =   (2)
3 8 8 8 8 
controller for the mobile robot to follow the previously
 1 1 1 1 
designed trajectory of the navigation system. Based on the  
ability to predict the robot's future state, the NMPC  4d 4d 4d 4d 

controller is exceptionally suitable for environmental
obstacle avoidance problems. Hence, the robot can identify The inverse kinematic equation can be transformed into:
obstacles and compute the optimal control signals to move
 1 
more smoothly than previous algorithms [15]. The    vx 
 
( )
−1
proposed navigation stack-based NMPC is implemented  2  = HT H HT (3)
3  1 1 1 v y 
based on the Robot Operating System (ROS) platform and  
   
the assistance of the ACADO toolkit. The Omni-robot is 4 
fully designed to work analogously to the existing system
and put in the environment simulated by Gazebo software The state of the Omni robot in the global coordinate is
denoted as x = ( x, y, ) . According to Fig. 1, it is
T
with many obstacles.
derived that:
II. ROBOT MODELING
A. Kinematic Modeling  x  cos  − sin  0   vx 
 
The 4-wheeled omnidirectional robot model is x =  y  =  sin  cos  0 v y  = H 2 u (4)
presented in Fig. 1 with its four wheels 90 degrees apart.    0 0 1    

where

© 2022 Int. J. Mech. Eng. Rob. Res 380


International Journal of Mechanical Engineering and Robotics Research Vol. 11, No. 6, June 2022

cos  − sin  0  vx  h
  xk +1 = xk + ( R1 + 2R2 + 2R3 + R4 )
H 2 =  sin  cos  
0  ; u = v y  (5) 6 (10)
 0   tk +1 = tk + h
0 1   
Considering a sampling period ℎ, a sampling instant 𝑘
From (4) the robot, the state will be achieved through and applying the 4th order Runge-Kutta approximation to
integrals (4), we obtain the discrete-time model for robot motion.
 x (t )  The individual slopes at each point are defined as:
 
x =  y ( t )  vx cos  − v y sin  
 ( t )   
R1 = f ( xk , u ) = vx sin  + v y cos   (11)
 
 x (t ) +
 0  (v
x ( t ) cos ( t ) − v y ( t ) sin ( t ) ) dt  (6)   
 
=  y ( t0 ) +

 (v x ( t ) sin ( t ) + v y ( t ) cos ( t ) ) dt 

 h 
R2 = f  xk + R1 , u 
 2 

 
 ( t0 ) +  ( t ) dt 
   h   h 
 vx cos   + 2   − v y sin   + 2   
The angle of the robot is always limited in range     
(12)
 − ,   . So, we always normalize the angle by:   h   h 
= vx sin   +   + v y cos   +   
  2   2 
 +     
 =  − 2   (7)
 
 2   
Each wheel of a mobile robot is always limited to a
 h 
limited speed. Therefore, the linear velocity and angular R3 = f  xk + R2 , u 
velocity of the robot are also limited. Define the speed  2 
constraints of the robot:   h   h 
 vx cos   + 2   − v y sin   + 2   
vx , v y  vmax     
(13)
(8)   h   h 
  max = vx sin   +   + v y cos   +   
  2   2 
B. Discretization   
 
The continuous nonlinear control system in the equation  
(4) can be expressed as:
R4 = f ( xk + hR3 , u )
x = f ( x (t ) , u (t )) (9)
 vx cos ( + h ) − v y sin ( + h ) 
  (14)
where x ( t )  3
and u ( t )  3
are the 3-dimensional = vx sin ( + h ) + v y cos ( + h ) 
 
states and 3-dimensional control vectors.   
In this paper, a Runge-Kutta approach is used to obtain
the state at the next time step xk +1 . Runge-Kutta methods Based on (11-14) the equation (10) is as follow:
are a class of methods to integrate ODE. In this case, a 4th h
order Runge-Kutta method is employed. It approximates xk +1 = xk + ( R1 + 2 R2 + 2 R3 + R4 )
6
the solution to a differential equation in (9), with initial
condition x ( t0 ) = x0 . The order of the Runge-Kutta  hvx hv y 
 − 
 6 6 
method refers to the number of approximations of the slope  xk  (15)
 hv hv y 
=  yk  +  x  +
with a one-time step. The slope at the start point and

endpoint are defined by R1 and R4 . The slopes at the two  6 6 
k 
midpoints are R2 and R3 [16].  h 
 
To determine an approximation of xk +1 , a weighted  
average of the slopes at R1 , R2 , R3 , R4 is used. The
The matrix form of (15) is as follow:
midpoint slopes are weighted twice as much as the start
and endpoint. The xk +1 is obtained as follow:

© 2022 Int. J. Mech. Eng. Rob. Res 381


International Journal of Mechanical Engineering and Robotics Research Vol. 11, No. 6, June 2022

 −  Similar to the robot state, a reference state vector is


6 0
defined as r x = ( xr , yr ,r ) . Define the tracking error as
T
6
 
 
xk +1 = xk + h  0 u (16) follow:
6 6 

0

1
e
x j = x j − r x j , j  0, N  (23)
0
 
Now in our case, the NMPC method is implemented
where: based on the kinematic model of the Omni robot to find a
control sequence u so that the current state x will

h  converge to the desired value. By choosing N = Nu , the
 = cos  + 4cos   +   + cos ( + h )

2  cost function in (21) is rewritten as follow:
(17)
 h 
 = sin  + 4sin   +   + sin ( + h ) N −1
 2  J ( x , u ) = e xTN QN e x N +  
i =0
e T
xi Q e xi + uiT Rui  (24)
( )
And a compact representation of (16) is as follow:
Subject to
xk +1 = xk + g ( xk , uk ) uk = f ( xk , uk ) (18)
xi +1 = f ( xi , ui ) , i  0, N − 1 (25)
III. NONLINEAR MODEL PREDICTIVE CONTROL (NMPC)
(26)
A. Controller Design In which
In this section, a nonlinear MPC problem is formulated
T
as a quadratic programming problem. The discrete-time x =  e x1 e
x2 e
x N   3N
(27)
system is shown in (18). And the constraints are:
xk  , k = 0,1,..., N ; xmin  xk  xmax u =  u1 uN −1  
T 3N
(19) u2 (28)
The matrix form of equation (24) is as follows:
uk  , k = 0,1,..., Nu ; umin  uk  umax (20)
J ( x, u ) = e xTN QN e xN + xT Qx + uT Ru (29)
where N denotes prediction horizon, N u denotes control
horizon, N  Nu  0 . where:
Q 0 0 R 0 0
NMPC can be formulated as an iterative optimization 0 Q 0  0 R 0 
procedure. A cost function is optimized to get an optimal Q= ;R = 
control input vector; then, repeated online calculation of  0  0
an optimization function is conducted [17]. The advantage    
0 0 Q 0 0 R
of NMPC is that it considers the system constraints in the
Similarly, we can rewrite (22) in more general form as:
optimization process, leading to the improvement of the
robustness of the overall system. Du  d
The standard quadratic form of objective cost function with
J ( x, u ) of NMPC problem can be defined as follow: I  u 
D =  3 N 3 N  ; d =  max  (30)
N −1 Nu −1  − I3 N 3 N   −umin 
J ( x, u ) = x N x 
2 2 2
QN
+ i Q + ui R
(21) B. Sequential Quadratic Programming
i =0 i =0
At each sampling time instant, the NMPC controller
subject to: obtains the robot's current input and output measurements,
the current robot's states, and the robot model to calculate
xi +1 = f ( xi , ui ) i  0, N  an optimal future control sequence over a defined predict
(22)
umin  ui  umax i  0, Nu − 1 horizon that optimizes the objective function
simultaneously satisfying the constraints of the system.
2
where  denotes the Euclidean norm. The term x N QN
Then, only the first control signal in the sequence is used
as the input to control the robot. Among many approaches
is the terminal penalty term, Q and R are positive to solving the NMPC problem in literature such as Interior
definite weight matrices. The predicted states in the future Point (IP) [18], the Sequential Quadratic Programming
horizon are xi , i = 1, N , the predicted control signals in (SQP) [19], [20], i.e., the SQP method is often used
because of its advantages. The SQP provides highly
the future horizon u j , j = 1, Nu . The term umin stands accurate solutions with fast final convergence. At the same
for the lower bound and umax stands for the upper bound. time, the SQP is also suitable for highly non-linear
problems such as our robot model. In addition, available
tools and libraries such as ACADO [19] are designed to

© 2022 Int. J. Mech. Eng. Rob. Res 382


International Journal of Mechanical Engineering and Robotics Research Vol. 11, No. 6, June 2022

solve SQP problems conveniently. The SQP is powerful J ( x , u ) = f ( x N −1 , uN −1 ) − r x N Q2 N + x0Q2


enough for actual problems to handle any degree of non-
N −1 N −1

f ( x ) − r xiQ2 + uiQ2
linearity, including non-linearity in the constraints. The
main idea of SQP is that it solves in each iteration an + i −1 , ui −1
i =1 i =0
inequality constrained QP obtained by linearizing the
objective and constraints functions. Hence, to apply the  BN uN −1 + C N Q2 N + x0Q2 (36)
SQP method, at time instant, the objective cost function N −1 N −1
in (24) is linearized to have the following form: +  Bi ui −1 + Ci Q2 + u 2
iQ
J ( x, u )  J ( x ( k ) , u ( k ) ) + u J ( x ( k ) , u ( k ) ) ( u − u ( k ) ) i =1 i =0

= u Hu + 2u M + N
T T

( u − u ( k ) ) 2u J ( x ( k ) , u ( k ) ) ( u − u ( k ) )
1 T (31)
+
2 With
 B1T QB1 + R 0 0 
In which, the Jacobian u2 J is calculated as follow:  
 0 B2 QB2 + R
T
0 
T H = 
 J J J   
u J =  ...  =G (32)
 u0 u1 uN −1   BNT QBN + R 
 0 0
 B1T QC1 0 0 
In the case of the objective function expressed as in (24),  
 0 B2T QC 2 0 
we have: M =  (37)
 
J f ( xi , ui )  0
= 2 e xiT+1Q + 2 Rui (33)  0 BNT QC N 
ui ui
N
N = x0Q2 + C T
i QCi
Considering the Hessian u2 J , because the objective i=1

function has the nonlinear least-square form, the Gauss- According to the Gauss-Newton Hessian approximation,
Newton Hessian approximation with linear convergence the matrix H is used as the estimated value of the Hessian
property can be employed instead of exact value to avoid u2 J . Therefore, using the SQP method, the QP is
complicated computation. We have:
reformulated as follows:

2 2 min J SQP ( u ) = G ( u − u ( k ) )
xi − r xi = f ( xi −1 , ui −1 ) − r xi u
Q Q (38)
( u − u ( k )) H ( u − u ( k ))
1 T
+
f T ( xi −1 ( k ) , ui −1 ( k ) )
2
2
 +f ( xi −1 ( k ) , ui −1 ( k ) ) ( ui −1 − ui −1 ( k ) ) Subject to
(34)
− r xi Du  d (39)
Q
2 Remark 1: Let Ω be the set of indices i for which the
= Bi ui −1 + Ci Q ith element of vector  Du − d  equals zero, then Ω
= uiT−1 BiT QBi u + 2uT BiT QCi + CiT QCi , i  1, N  includes indices of active constraints. Denote Ω be the
vector obtained by taking all the ith row of vector  i  Ω .
with The Lagrange function can be established as follow:

Bi = f ( xi −1 ( k ) , ui −1 ( k ) ) , i  1, N  L ( u, λ ) = J SQP ( u ) + λT ( Du − d ) (40)

Ci = f T ( xi −1 ( k ) , ui −1 ( k ) ) (35) With λ is Lagrange multiplier.


−f ( xi −1 ( k ) , ui −1 ( k ) ) ui −1 − xi , i  1, N 
r Then, we have the Karush-Kuhn-Tucker conditions as:
L ( u, λ )
Substituting (25) to (24) yields: = J SQP ( u ) + λD
u (41)
= H ( u − u ( k ) ) + G + λD = 0

L ( u, λ )
= Du − d  0 (42)
λ

© 2022 Int. J. Mech. Eng. Rob. Res 383


International Journal of Mechanical Engineering and Robotics Research Vol. 11, No. 6, June 2022

λ0 (43) For the tracking problem, we set the sample time is
dt = 0.2 (s) and the initial position of the robot is
λT ( Du − d ) = 0 (44)
x0 = ( 0,0,0 ) , and design the described path like the
T

To find the minimizer u * of J SQP satisfying these following:


KKT conditions, the active set strategy is implemented.  
Assuming that the active set Ω is given at time instant k xr ( t ) = 5sin  t 
 20 
and u ( k ) is a feasible point. The QP algorithm using
 
active set strategy proceeds as follows: yr ( t ) = 5cos  t  (48)
 20 
1. The minimum of the quadratic objective subject (38)

to the constraints in the active set treated as equalities is r (t ) = − t
computed by solving the equalities: 20

H ( u − u ( k ) ) + G +  λD (45) To implement the NMPC controller, ACADO [19]


toolbox is employed which provides several built-in
 Du − d  = 0 (46)
algorithms for an optimization problem. Besides, it also
supports both MATLAB and C++ code interface which is
convenient to deploy the proposed method in ROS and
to obtain the update direction p = u − u ( k ) .
MATLAB environment.
2. Take the largest possible step in direction p that does
A. Simulation Using MATLAB
not break any inactive inequalities:
u = u (k ) +  p
In this section, the MATLAB simulations were
conducted to show the effectiveness of the controller in
with 0    1 is opted to guarantee that the inactive tracking problems with limited control signals. The results
inequality constraints are still feasible. show how well the controller performs in the tracking issue.
3. If 0    1 adding a limiting number of inequalities In the simulation, we choose different prediction horizons
to the active set and return to one. Otherwise, take the full ( N = 5,?N = 0) to show their effect on the robot's
step ( = 1) and consider the sign of the Lagrange behavior.
multipliers whether or not it satisfies the condition (43) and Fig. 2 shows the tracked paths of the controller with
(44): different horizons. The larger prediction horizon can
- If all the inequalities constraints have positive provide the robot to track the reference path smoothly and
multipliers, terminate the algorithm early. With N = 10 , the tracked path is smoother than
- Otherwise, remove the inequality which has the most with N = 5 . Furthermore, the controller efforts are shown
negative multiplier from the active set and return to step 1. in Fig. 3. It reveals that the large prediction horizon leads
Remark 2: Theoretically, the number of iterations to a smoother controller effort than the small one.
depends on the initial active set Ω . If the initial active set Nevertheless, the larger prediction horizon leads the
is chosen properly, Ω0 = Ω* , the algorithm will be expensive computation. Therefore in practice, we need to
consider the power of the hardware to choose the suitable
terminated in the first iteration. On the other hand, if the
prediction horizon.
initial active set is considerably different from the desired
one, many iterations are needed to get the optimal result.
After finishing the iteration step and obtaining the
optimal control consequence u * only its first element is
used to control the robot system in this sampling time.
Then, the output variables are measured and the same
process is carried out in the next time instant.

IV. SIMULATION AND RESULTS


Considering the robot model described by (4) and the
QP problem is used to solve the trajectory tracking
problem with the cost function in (21).
Let us consider our robot which has the limits in the
amplitude of the control variables:

 
1 ( m/s )  Figure 2. Tracked trajectories
 
umax = −umin = 1 ( m/s )  (47) Fig. 3 shows that the robot’s linear and angular
 
 ( rad/s ) velocities track the target while the constraints are satisfied.
4  The velocities, in the beginning, are upper bound until they

© 2022 Int. J. Mech. Eng. Rob. Res 384


International Journal of Mechanical Engineering and Robotics Research Vol. 11, No. 6, June 2022

approach the desired path; they converge to the velocities B. Simulation Using ROS and Gazebo
that track the reference path. In this section, the simulations are conducted based on
the Gazebo simulator. The visualization is performed by
using Rviz to obtain the results. According to [21], [22],
the weight matrices chosen must be positive. Thus, in this
simulation, we choose the prediction horizon N = 30 and
weight matrices:

100 0 0 10 0 0 
QN = Q =  0 100 0  , R =  0 10 0 
  (49)
 0 0 0.5  0 0 5

Figure 3. Output control signals of NMPC

The tracking error is converged to zero, shown in Fig. 4.


Due to the robot's kinematic model, the convergence of x
or y depends on the robot's initial states and orientation. As
in Fig. 4, at the beginning of the movement, the error is
significant because of initial states and the velocity
Figure 5. Tracking in the XY plane (RViz)
constraints, and as time goes on, it converges to zero. With
the larger prediction horizon, the tracking error converges The obtained path of the robot is given in Fig. 5, where
to zero quickly. Furthermore, the error results can be the blue line is the reference path and the red line is the
further verified in Table I, which shows the position's root- robot path. The red axis denotes the Ox, and the green axis
mean-square error (RMSE). With N = 10 , the RMSE of denotes the Oy. The control input signals and the tracking
all the axis and the distance error are smaller than N = 5 . errors of the robot are shown in Figs. 6 and 7. The tracking
error in the simulation is given as follow:

error = ( xr − x )2 + ( yr − y )2 (50)

At the beginning of the movement, the vertical axis


error increases because of the difference between initial
states and the described trajectory and the velocities
constraints. After that, the error tracking converges quickly
to zero. It means the path was tracked.

Figure 4. Tracking errors

TABLE I. THE RMSE OF THE CONTROLLER IN DIFFERENTIAL PREDICTS


HORIZON
RMSE N =5 N = 10 Figure 6. Control input of robot in RViz. vx (m/s), vy (m/s) are the
The x-axis (m) 0.1611 0.0991 linear velocities along the x, y-axis, respectively; omega (rad/s) is the
The y-axis (m) 0.9194 0.9031 angular velocity of the robot.
Distance Error (m) 0.9318 0.9285

© 2022 Int. J. Mech. Eng. Rob. Res 385


International Journal of Mechanical Engineering and Robotics Research Vol. 11, No. 6, June 2022

The TEB controller is based on the method called Timed


Elastic Band locally optimizes the robot's trajectory for
trajectory execution time. Because TEB is based on
optimal travel time, its trajectory tracking cannot be fully
guaranteed. On the other hand, MPC can optimize the
travel distance to follow the given trajectory while still
avoiding obstacles in the environment.

Figure 7. Distance error in Rviz. The error is satisfied following


equation (50).

C. Navigation Stack-Based NMPC


After ensuring that the NMPC controller has been
successfully installed on the ROS, the Navigation stack-
based NMPC is built to control the robot instead of the
TEB controller [23], [24].
Figure 8. The 3D Omni robot (left) and simulation environment (right)

Figure 9. The diagram of Navigation stack-based NMPC

ROS is integrated with Gazebo simulation software. The comparison between NMPC and TEB was
The environment in Gazebo is optimized so that the performed to evaluate the performance of the Navigation
physical conditions are most similar to the actual stack-based NMPC. The global path is generated based on
environment. To simulate the behavior of the robot, the the A* planner and used as the robot's desired trajectory.
Omni robot model and the simulated environment were The robot has an initial position xr = 0 , yr = 0 and
built to evaluate the quality of navigation using the moves to the target position xg = 5 , yg = −5 .
proposed controller. The robot model and environment are
shown in Fig. 8. The white pixel presented the movable space. The black
The diagram of the Navigation stack-based NMPC is pixel presented the wall, and the gray pixels presented the
shown in Fig. 9. In which, node /gazebo_gui represents unknown space in the map. According to Fig. 10, the red
Gazebo simulator, node /gazebo represents physical path is the global path navigated to the target position. The
environment and robot; node /joint_state_publisher and yellow path is the local path designed from the NMPC
/robot_state_publisher represent robot states in the RViz controller. Besides, the local path of the TEB shown in the
visualization tool; node /ekf_slam is used to locate the blue line is added to consider the movement trend of the
robot in the environment; node /map_server represents the robot at the same time to compare the local path of the
map obtained by the robot during the previous mapping; proposed navigator with the TEB. As shown in Fig. 10, the
node /move_base aggregates information from the map, local path of the NMPC navigator is always asymptotic to
robot, and target location to create a trajectory, and node the global path, while the local path of the TEB tends to be
/mpc_navigation is the node deployed to perform the skewed out. Because NMPC considers the Omni robot's
trajectory tracking task. The NMPC is substituted for the kinematic model, NMPC can make optimal predictions to
TEB controller in robot control. As can be seen in Fig. 9, follow the global path. And TEB is designed for many
the NMPC node receives the local path signal from TEB robot models, so its navigability is more limited than the
and outputs the control signal to the robot. proposed navigator.

© 2022 Int. J. Mech. Eng. Rob. Res 386


International Journal of Mechanical Engineering and Robotics Research Vol. 11, No. 6, June 2022

AUTHOR CONTRIBUTIONS
Hiep Do Quang, Cuong Nguyen Manh and Toan
Nguyen Nhu designed the proposed algorithm; Hiep Do
Quang and Thang Le Tran implemented and conducted the
experiment; Toan Nguyen Nhu and Nam Bui Duy wrote
the paper; Cuong Nguyen Manh and Tien Ngo Manh
reviewed the paper.

ACKNOWLEDGMENT
This research was funded by Vietnam's national project
“Research, develop an intelligent mobile robot using
different types of sensing technology and IoT platform, AI,
Figure 10. Navigation paths of the robot using NMPC and implemented in radioactive environment monitoring
application” of the CT1187 Physics development program
in the period 2021-2025.

REFERENCES
[1] K. V. Ignatiev, M. M. Kopichev, and A. V. Putov. “Autonomous
omni-wheeled mobile robots,” in Proc. 2nd International
Conference on Industrial Engineering, Applications and
Manufacturing (ICIEAM), 2016, pp. 1–4.
[2] M. Emam and A. Fakharian. “Path following of an omnidirectional
four-wheeled mobile robot,” in Proc. Artificial Intelligence and
Robotics (IRAN OPEN), 2016, pp. 36–41.
[3] S. Wang, et al., “Trajectory tracking control for mobile robots using
reinforcement learning and PID,” Iranian Journal of Science and
Technology, Transactions of Electrical Engineering, pp. 1059–
1068, 2020.
[4] Z. Yuan, et al. “Trajectory tracking control of a four mecanum
Figure 11. Record navigation paths of the robot wheeled mobile platform: An extended state observer-based sliding
mode approach,” in Proc. IET Control Theory & Applications, 2019,
The robot's data under the direction of the two pp. 415–426.
[5] N. T. Binh, et al., “An adaptive backstepping trajectory tracking
navigators were recorded to compare the performance of control of a tractor-trailer wheeled mobile robot,” International
the two navigators. Fig. 11 shows the tracked path of the Journal of Control, Automation, and Systems, pp. 465–473, 2019.
robot based on the NMPC and TEB navigators. According [6] Kim, Duyen Ha Thi, et al. “Adaptive control for uncertain model of
to Fig. 11, the robot's trajectory by using the NMPC omni-directional mobile robot based on radial basis function neural
network,” International Journal of Control, Automation and
navigator is asymptotic to the global path. Because the Systems, pp. 1-13, 2021.
TEB Navigator is used for various robot models, and the [7] K. D. H. Thi, et al., “Trajectory tracking control for four-wheeled
proposed navigator is designed for the Omni robot model, omnidirectional mobile robot using Backstepping technique
the capabilities of the NMPC navigator are better. In aggregated with sliding mode control,” in Proc. First International
Symposium on Instrumentation, Control, Artificial Intelligence, and
addition, TEB is optimized in terms of robot travel time, Robotics (ICA-SYMP), 2019, pp. 131–134.
and NMPC is optimized for tracking. Thus, the robot's [8] C. Wang, et al., “Trajectory tracking of an omnidirectional wheeled
trajectory using the proposed navigator has a better ability mobile robot using a model predictive control strategy,” Applied
to follow the global path, while TEB will make priority Sciences, p. 231, 2018.
[9] Ĩ. Moreno-Caireta, E. Celaya, and L. Ros, “Model predictive control
moves to the destination, so it can be seen that the robot for a mecanum-wheeled robot navigating among obstacles,” IFAC-
trajectory with the TEB navigator separates from the Papers On-Line, pp. 119–125, 2021.
global path and moves towards the destination. [10] K. Kanjanawanishkul, “MPC-Based path following control of an
omnidirectional mobile robot with consideration of robot
constraints,” Advances in Electrical and Electronic Engineering, pp.
V. CONCLUSION 54–63, 2015.
[11] J. Inthiam and C. Deelertpaiboon, “Self-localization and navigation
This paper has designed and built a trajectory tracking of holonomic mobile robot using Omni-directional wheel
control system for the four-wheeled omnidirectional odometry,” in Proc. TENCON 2014 - 2014 IEEE Region 10
mobile robot based on NMPC. In addition, Navigation Conference, 2014, pp. 1–5.
stack-based NMPC is also constructed to replace TEB in [12] H. D. Quang, et al., “Mapping and navigation with four-wheeled
omnidirectional mobile robot based on robot operating system,” in
trajectory tracking control. The controller is built based on Proc. International Conference on Mechatronics Robotics and
the kinematic model of the robot. The obtained results Systems Engineering (MoRSE), 2019, pp. 54–59.
show the effectiveness of the NMPC controller in tracking [13] H. D. Quang, T. N. Manh, C. N. Manh, D. P. Tien, M. T. Van, K.
and the navigation problem. N. Tien, and D. N. Duc, “An approach to design navigation system
for omnidirectional mobile robot based on ROS,” International
Journal of Mechanical Engineering and Robotics Research, pp.
CONFLICT OF INTEREST 1502-1508, 2020.
The authors declare no conflict of interest.

© 2022 Int. J. Mech. Eng. Rob. Res 387


International Journal of Mechanical Engineering and Robotics Research Vol. 11, No. 6, June 2022

[14] K. Xu, et al., “Design and implementation of a ROS-based Thang Le Tran graduated with a PhD in
autonomous navigation system,” in Proc. IEEE International Engineering in System Analysis, Control and
Conference on Mechatronics and Automation (ICMA), 2015, pp. Information Processing from the Taganrog
2220–2225. Insitute of Technology, Southern University -
[15] B. Cybulski, A. Wegierska, and G. Granosik, “Accuracy Russian Federation in 2008. Currently a
comparison of navigation local planners on ROS-based mobile researcher at Controls, Automation in
robot,” in Proc. 12th International Workshop on Robot Motion and Production and Improvement of Technology
Control (RoMoCo), 2019, pp. 104–111. Institute, Hanoi, Vietnam. The main research
[16] G. Campagne, “A nonlinear model predictive control based evasive direction is to design embedded control system,
manoeuvre assist function,” Master thesis, Delft University of stable control and intelligent control.
Technology, 2019.
[17] Z. Li, et al., “Trajectory-tracking control of mobile robot systems Tien Ngo Manh, graduated Engineering
incorporating neural-dynamic optimized model predictive Degree in automatic control at Hanoi
approach,” IEEE Transactions on Systems, Man, and Cybernetics: University of Science and Technology (HUST)
Systems, pp. 740–749, 2016. from 1996-2001. He received his Doctor’s
[18] Y. Ding, Z. Xu, J. Zhao, K. Wang, and Z. Shao, “Embedded MPC Degree in electrical engineering at HUST in
controller based on interior-point method with convergence depth 2014. Now, he works at the Institute of Physics,
control,” Asian Journal of Control, vol. 18, pp. 2064–2077, 2016. Vietnam Academy of Science and Technology.
[19] B. Houska, H. J. Ferreau, and M. Diehl, “An auto-generated real- His main research areas include process control,
time iteration algorithm for nonlinear MPC in the microsecond adaptive control, fuzzy logic and neural
range,” Automatica, pp. 2279–2285, 2011. network control, Robotics, electro-optical
[20] J. Nocedal and S. J. Wright, Numerical Optimization, Springer, system, image processing.
1999.
[21] Z. Yongjie and U. Ozguner, “Constrained model predictive control
for nonholonomic vehicle regulation problem,” IFAC Proceedings, Cuong Nguyen Manh, graduated Engineering
vol. 41, 2008, pp. 9552-9557. Degree in Control Engineering and Automation
[22] K. Felipe, et al., “Mobile robot trajectory tracking using model at Hanoi University of Science and Technology
predictive control,” in Proc. IEEE Latin-American Robotics (HUST), 2020. Now, he is a Master student at
Symposium, 2005. HUST, research engineer at Institute of Physics,
[23] M. P. Pablo, et al., “Global and local path planning study in a ROS- Vietnam Academy of Science and Technology,
Based research platform for autonomous vehicles,” Journal of and robotics engineer at VinAI Research. His
Advanced Transportation, pp. 1-10, 2018. main research area includes adaptive control,
[24] C. Roesmann, W. Feiten, T. Woesch, F. Hoffmann, and T. Bertram, optimal control, fuzzy logic and neural network
“Trajectory modification considering dynamic constraints of control, and robot operating system
autonomous robots,” in Proc. ROBOTIK 2012; 7th German programming for robotics.
Conference on Robotics, 2012, pp. 1-6.
Toan Nguyen Nhu graduated from Hanoi
University of Science and Technology,
Copyright © 2022 by the authors. This is an open access article Vietnam. He is now a master’s student at Hanoi
distributed under the Creative Commons Attribution License (CC BY- University of Science and Technology,
NC-ND 4.0), which permits use, distribution and reproduction in any Vietnam. His interests includes intelligent
medium, provided that the article is properly cited, the use is non- control, optimal control, machine learning for
commercial and no modifications or adaptations are made. robotic systems

Hiep Do Quang received the B.E in


Instrumentation and Industrial informatics
(2001), M.E (2005) in Instrumentation and
Nam Bui Duy is an undergraduate student
Control from Hanoi University of Science and
majoring in Robotics Engineering at the
Technology (HUST). He is a lecturer, Faculty
University of Engineering and Technology
of Electrical Engineering. University of
(UET). Now, he is working at the Institute of
Economics-Technology for Industries, Viet
Physics, Vietnam Academy of Science and
Nam. The main researches: AI, robotics,
Technology. His main research area includes
automatic control.
adaptive control, optimal control, and robot
vision.

© 2022 Int. J. Mech. Eng. Rob. Res 388

You might also like