Next Article in Journal
Measuring Brain Activation Patterns from Raw Single-Channel EEG during Exergaming: A Pilot Study
Next Article in Special Issue
Application of A* Algorithm Based on Extended Neighborhood Priority Search in Multi-Scenario Maps
Previous Article in Journal
Intelligent Pick-and-Place System Using MobileNet
Previous Article in Special Issue
Improving Path Accuracy of Mobile Robots in Uncertain Environments by Adapted Bézier Curves
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Dual Forward–Backward Algorithm to Solve Convex Model Predictive Control for Obstacle Avoidance in a Logistics Scenario

by
Daniele Ludovico
1,*,†,
Paolo Guardiani
1,†,
Alessandro Pistone
1,†,
Lorenzo De Mari Casareto Dal Verme
1,2,
Darwin G. Caldwell
1 and
Carlo Canali
1
1
Istituto Italiano di Tecnologia, ADVR Advanced Robotics, 16163 Genoa, Italy
2
Dipartimento di Informatica, Bioingegneria, Robotica e Ingegneria dei Sistemi, Scuola Politecnica, Università Degli Studi Di Genova, 16145 Genoa, Italy
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Electronics 2023, 12(3), 622; https://doi.org/10.3390/electronics12030622
Submission received: 19 December 2022 / Revised: 20 January 2023 / Accepted: 23 January 2023 / Published: 26 January 2023
(This article belongs to the Special Issue Path Planning for Mobile Robots)

Abstract

:
In recent years, the logistics sector expanded significantly, leading to the birth of smart warehouses. In this context, a key role is represented by autonomous mobile robots, whose main challenge is to find collision-free paths in their working environment in real-time. Model Predictive Control Algorithms combined with global path planners, such as the A* algorithm, show great potential in providing efficient navigation for collision avoidance problems. This paper proposes a Dual Forward–Backward Algorithm to find the solution to a Model Predictive Control problem in which the task of driving a mobile robotic platform into a bi-dimensional semi-structured environment is formulated in a convex optimisation framework.

Graphical Abstract

1. Introduction

In recent decades, the global economy has seen a massive development in the global value chain combined with the growth of “Industry 4.0” and “Internet plus” phenomena [1,2]. In spite of the impact of the COVID-19 pandemic, in an increasingly interconnected world, the flow of goods across different countries has become more and more frequent. This has led to a significant expansion of logistics markets [3]. With these developments, the need for greater efficiency and reliability in the transportation and storage process has become more and more intense. Against this background, the smart logistics industry, whose goal is the transition of the logistics industry to new technologies, has come into being. The smart warehouse is an automated warehouse based on several automated and interconnected technologies. It is characterised by high levels of automation, low labour costs, and high efficiency [4]. To develop a smart warehouse, a key role is represented by warehouse logistics robots. Indeed, in the process of rapid development of the logistics industry, smart sorting is one of the critical links to ensure that the logistics process can handle, in a timely manner, the massive material demand. Ultimately, the goal is to find a collision-free path between two points in the work environment. Implementing an optimal path planning algorithm would significantly reduce the operation time of logistics robots, while also reducing wear and energy consumption, and increasing the productivity and overall quality of the logistics industry. In addition, automation of such tasks would relieve human workers of repetitive and dull activities, which may cause harm to their health. Moreover, the COVID-19 pandemic makes the use of robots more attractive as they are not affected by health concerns or lock-down policies [5]. More generally, path planning of mobile robots in semi-structured environments, i.e., environments in which only the position of a subset of obstacles is known a priori, is a crucial topic in robotics, not just for the logistics sector [6]. The pursuit of increasingly optimised models and algorithms in terms of path length and smoothness, running time, and reliability is an active research field.
Path planning for mobile robots is mainly classified into two categories: global planning and local planning [7]. From all the known techniques, Model Predictive Control Algorithms (MPCA), in combination with global path planning strategies such as A* algorithm [8], show some of the greatest potential to provide efficient navigation in collision avoidance problems [9]. In this context, a common strategy is to model obstacles as multiple convex polytopes leading to a convex optimisation problem whose solution is guaranteed [10].
Several algorithms have been proposed to solve convex optimisation problems. Several early approaches were based on the Active-Set (AS) method [11], which initially estimates the optimal active set. This algorithm then repeatedly uses gradient and Lagrange multiplier information to eliminate one index from the current estimate of the active constraints while adding a new index until optimality is reached [12]. Later, algorithms based on the Interior-Point (IP) method, which involves modelling the constraints as barrier functions [13], became popular in solving convex optimisation problems
The key novelty of this work is the development and use of a Dual Forward–Backward Algorithm (DFBA) [14] to solve a Model Predictive Control problem. This DFBA can compute the optimal trajectory to avoid obstacles in a convex optimisation framework, and this is vital for obstacle avoidance in mobile robotic platforms operating in two-dimensional, semi-structured environments such as warehouses. Although the DFBA requires a longer computational time than the IP and AS algorithms, formulation of the optimisation problem associated with MPCA is relatively straightforward, and this is suited to real-time applications.
Section 2 presents the physical model of the system and the geometrical representation of the environment. This is then used to define the mathematical formulation in terms of an optimisation problem. Finally, there is a description of the algorithms needed to solve the proposed optimisation problem. A case study to test the proposed algorithms and the corresponding results are described in Section 3. A discussion of the results is presented in Section 4. Finally, the conclusion and future works are presented in Section 5.

2. Materials and Methods

This section presents a mathematical description of the problem introduced in Section 1, defines its equivalent optimisation problem, and describes the proposed numerical algorithms to solve it.

2.1. Problem Description

This subsection describes the system and environment models employed to solve the problem of autonomously driving a mobile robotic platform, avoiding obstacles in a two-dimensional, semi-structured environment.

2.1.1. Dynamic Model

As a first approximation, the mobile robot can be modelled as a point mass moving on a plane without considering gravity effects. The corresponding equation of motion is
p ¨ = u ,
where p ¨ is the acceleration of the robot and u is the actuator control signal. The improved Euler method [15] can be used to obtain the discrete time model of the system:
v k + 1 = v k + u k T s p k + 1 = p k + v k T s + u k 2 T s 2 ,
where T s is the sample time, u k is the actuator control signal at a given time instant k, while p k + 1 , v k + 1 and p k , v k are the position and velocity at a given time instant k + 1 and k, respectively. Equation (1) can be written in state-space form as follows:
z k + 1 = A z k + B u k ,
where z k = p k v k T and z k + 1 = p k + 1 v k + 1 T are the states of the system at a given time instant k and k + 1 , respectively. Details about matrices A and B are presented in Appendix A. In the problem presented here, dynamic laws are considered as equality constraints. Indeed, (2) can be rearranged as follows:
A z k B u k + I 4 z k + 1 = 0 4 , 1 ,
where I n is the n × n identity matrix and 0 m , n is the m × n zero matrix.

2.1.2. Actuation Model

A real actuator is not able to produce arbitrarily large accelerations and velocities. This saturation phenomenon can be modelled as the set, Δ , defined by the intersection of linear inequalities:
Δ = u k R 2 , v k R 2 : u m i n 𝟙 2 , 1 u k u m a x 𝟙 2 , 1 v m i n 𝟙 2 , 1 v k v m a x 𝟙 2 , 1 ,
where 𝟙 m , n is a m × n matrix all of whose entries are one, while u m a x , u m i n , v m a x , and v m i n are real positive numbers representing the limits of the actuator.

2.1.3. Obstacle Model

All the obstacles are modelled as circular or rectangular subsets of R 2 , as reported in Figure 1. A generic circular obstacle O c i is defined as follows:
O c i = P R 2 , P c i R 2 , ρ i R : P P c i 2 < ρ i 2 ,
where P c i and ρ i are the centre and the radius of O c i , respectively. Similarly, a generic rectangular obstacle O r i is defined as follows:
O r i = P R 2 , r i j R 2 , V i j R 2 : r i j , P V i j < 0 for j = 1 , , 4 ,
where V i j is the j t h vertex of O r i , r i j is the outward-pointing normal vector to the j t h side of O r i , and · , · indicates the inner product. Then, the robot is constrained to move into a non-convex set:
Π = R 2 \ O c O r ,
where
O c = i = 1 n c O c i , O r = i = 1 n r O r i ,
and n c and n r are the number of circular and rectangular obstacles, respectively.
The maximum convex polytope Ω t Π containing the centre of the robot p k , as shown in Figure 2, is defined as
Ω t = P R 2 , n i R 2 , P i R 2 : n i , P P i 0 for i = 1 , , n a ,
where n a is the minimum number of lines necessary to define Ω t , while n i and P i have different meaning depending on the obstacle type. For circular obstacles, n i = p k P c i and P i is the point on the boundary of the i t h circular obstacle at minimum distance from p k . For each rectangular obstacle, the eight sets Θ i j and Ξ i j with j = 1 , , 4 are defined, as shown in Figure 1b. If p k Θ i j , n i = r i j and P i = V i j , otherwise, if p k Ξ i j , n i = p k V i j and P i = V i j .

2.2. Optimisation Problem

The problem described in Section 2.1 can be formulated in a convex optimisation framework. The objective is to find the optimal control inputs to autonomously drive a mobile robot from an initial position to a target position within a semi-structured environment avoiding obstacles.

2.2.1. Objective Function

Considering n p predictions of the system states and control variables, it is possible to define the optimisation variables ξ R n v , where n v = 6 n p + 4 , as
ξ = z 0 T z 1 T z n p T u 1 T u n p T T .
Then, introducing the vector containing the initial state, the n p desired states, and the n p desired control inputs (set to zero to reduce the control effort)
ξ d = z d 0 T z d 1 T z d n p T 0 1 , 2 0 1 , 2 T ,
the objective can be modelled as a quadratic function
f ξ = 1 2 Q ξ ξ d 2 2 ,
where the matrix Q R n v × n v is diagonal and allows weighting the cost function to define the priority between increasing the trajectory tracking accuracy in terms of position and velocity and reducing the control effort. The matrix Q has the following structure:
Q = diag w z w z w u w u ,
where the weights of the position error and the velocity error
w z = w p w p w v w v
are repeated n p + 1 times, while the weight of the control effort
w u = w u w u
is repeated n p times. The parameters w p , w v , and w u are real positive numbers.

2.2.2. Equality Constraints

Equation (3) can be seen as an equality constraint which forces the states of the system at instant k + 1 to satisfy the dynamic equations. Considering a prediction horizon of n p samples, it is possible to write (3) at each T s in terms of the optimisation variables ξ as linear equality constraints
Φ ξ b = 0 4 n p + 1 , 1 .
Details about matrix Φ and vector b are presented in Appendix A.

2.2.3. Inequality Constraints

As described in Section 2.1, both the limits of the actuators and the region in which the robotic platform can move are modelled as linear inequalities. Considering a prediction horizon of n p samples, it is possible to write (4) and (5) in terms of the optimisation variables and in compact form as
C ξ d 0 n d , 1 ,
where n d = n p n a + 8 + n a + 4 . Details about matrix C and vector d are presented in Appendix B.

2.2.4. Dual Problem Formulation

Considering the objective function (6) and the constraints (7) and (8), it is possible to define the following optimisation problem:
min ξ R n v 1 2 Q ξ ξ d 2 2 subject to Φ ξ b = 0 4 n p + 1 , 1 C ξ d 0 n d , 1 .
Since the objective function is quadratic and the constraints are linear, this optimisation problem is convex. Assuming that a solution to (9) exists, since the objective function is quadratic, it is also continuous at some ξ such that constraints (7) and (8) are satisfied. Assuming x R n and the subset Γ R n , where n N , the indicator function of Γ can be defined as
ι Γ x = 0 x Γ + x Γ .
Then, introducing the linear operator
L = Φ T C T T
and the vector
β = b T d T T ,
the optimisation problem described in (9) can be equivalently rewritten as
min ξ R n v 1 2 Q ξ ξ d 2 2 + ι F L ξ β ,
where F is a set defined as follows:
F = λ R 4 n p + 1 + n d : λ i = 0 for i = 1 , , 4 n p + 1 , λ i 0 for i = 4 n p + 1 + 1 , , 4 n p + 1 + n d .
Defining
g ξ = ι F ξ β ,
it is possible to write (10) as
min ξ R n v f ξ + g L ξ
The convex conjugate [16] of (11) has the following form:
min λ R 4 n p + 1 + n d f * L T λ + g * λ + λ , β ,
where f * ( ζ ) , ζ R n v , is the Legendre-Fenchel conjugate of f ξ and is equal to
f * ( ζ ) = 1 2 Q 1 ζ 2 2 + ξ d , ζ ,
while g * λ is the Legendre-Fenchel conjugate of g ξ and is equal to
g * λ = ι F λ ,
where
F = λ R 4 n p + 1 + n d : λ i 0 for i = 4 n p + 1 + 1 , , 4 n p + 1 + n d .

2.3. Algorithms

This section presents the algorithms needed to solve the optimisation problem described in Section 2.2. First, the MPCA is explained in detail. Then, the Convex Subset Search Algorithm (CSSA), which is employed to compute the maximum convex subset in which the mobile robot can move avoiding the obstacles, is presented. Finally, the DFBA used to solve (9) is described.

2.3.1. Model Predictive Control Algorithm

Exploiting the current and desired states of the system and the obstacles map, the MPCA computes the optimal sequence of inputs to obtain the n p predicted states that minimise the objective function. Then, only the first input is applied and all the variables of the optimisation problem (the obstacles map, the constraints matrices C and vectors d , and b ) are updated according to the newly measured position. Moreover, to reduce the number of iterations required by the DFBA, the initial point of the optimisation solver, ξ i , is updated using the predictions of the states of the system obtained as the results of the optimisation problem at the previous time instant. The algorithm is repeated every sample time T s . For this application, to define the desired states, the trajectory that connects the initial position to the target one is computed using the A* algorithm. The pseudocode of the MPCA is described in Algorithm 1.
Algorithm 1 MPCA
1:
k = 0
2:
p k initial position
3:
p f target position
4:
p t compute trajectory via A * algorithm
5:
m a p obstacles map
6:
Ω t CSSA p k , m a p
7:
u m a x , u m i n acceleration actuators limits
8:
v m a x , v m i n velocity actuators limits
9:
C , d  compute inequality constraint parameters
10:
n p prediction horizon
11:
T s sample time
12:
Φ , b  compute equality constraint parameters
13:
Q define weight matrix
14:
Q = Q T Q 1
15:
ξ i = 0 6 n p + 4 , 1 initial point of DFBA
16:
δ position tolerance
17:
while  p f p k 2 < δ  do
18:
    ξ d update with   p t
19:
    ξ k DFBA ξ i , ξ d , Q , Φ , b , C , d
20:
    u k apply u 0 invector ξ k
21:
    p k update current position with measurement
22:
    m a p update obstacles map
23:
    Ω t CSSA p k , m a p
24:
    C , d update inequality constraints
25:
    b update dynamic constraints with   p k
26:
    ξ i update initial point of DFBA
27:
    k = k + 1
28:
end while

2.3.2. Convex Subset Search Algorithm

The CSSA takes as its input the current robot position and the updated map describing the obstacles and returns the minimum number of vectors, n 1 , , n n a and P 1 , , P n a , to compute the inequality constraints required to define Ω t . The pseudocode of the CSSA is described in Algorithm 2.

2.3.3. Dual Forward–Backward Algorithm

Since f is strongly convex with a modulus of convexity μ > 0 , f * is differentiable on F o , and f * is 1 / μ -Lipschitz continuous, the primal problem has a unique solution ξ ^ . Furthermore, assuming that the calculus rule for subdifferentials holds, then the dual solution λ ^ also exists, the duality gap is zero, and the following Karush–Kuhn–Tucker conditions [13] hold:
ξ ^ = f * L * λ ^ and L ξ ^ g * λ ^ .
Algorithm 2 CSSA p k , m a p
1:
h = 0
2:
while  isEmpty m a p  do
3:
    O i obstacle at minimum distance from   p k
4:
    i index of   O i
5:
   if  isRectangle O i  then
6:
     if  p k Θ i j  then
7:
         n h = r i j
8:
     else
9:
         n h = p k V i j
10:
     end if
11:
      P h = V i j
12:
   else
13:
      n h = p k P c i
14:
      P h = P c i + ρ i n h / n h 2
15:
   end if
16:
    t = 0
17:
    m a p update by removing   O i
18:
   for  q = 0 to length m a p 1  do
19:
     if  isDisk O q  then
20:
         P m d = P c q + ρ q n h / n h 2
21:
        if  n h , P m d n h < 0  then
22:
           R t = O q
23:
           t = t + 1
24:
        end if
25:
     else
26:
         b o o l = t r u e
27:
        for  m = 1 to 4 do
28:
           b o o l = b o o l n h , V q m P h < 0
29:
        end for
30:
        if  b o o l  then
31:
           R t = O q
32:
           t = t + 1
33:
        end if
34:
     end if
35:
   end for
36:
    m a p update by removing   R
37:
    h = h + 1
38:
end while
Thus, the dual solution uniquely determines the primal solution. Under these conditions, it is possible to solve (9) using the following DFBA:
ξ h = f * ( L * λ h ) , λ h + 1 = prox γ g * λ h + γ L ξ h , λ h + 1 = prox F o λ h + 1 ,
where
f * ( L * λ h ) = Q T Q 1 L T λ h + ξ d , prox γ g * ( λ h + γ L ξ h ) = λ h + γ L ξ β , prox F o λ h = λ h , i λ h , i 0 i 4 n p + 1 0 λ h , i < 0 i > 4 n p + 1 ,
λ h , i is the ith component of the optimisation variable of the dual problem at the hth iteration, and 0 < γ < γ m with γ m = 2 μ / L 2 , where the modulus of convexity μ is computed as the minimum eigenvalue of Q T Q . The pseudocode of the DFBA is described in Algorithm 3.
Algorithm 3 DFBA ξ i , ξ d , Q , Φ , b , C , d
1:
L  generated by Φ and C
2:
β  generated by b and d
3:
λ 0 = 0 4 n p + 1 + n d , 1
4:
ξ 0 = ξ i
5:
γ  initialise considering L
6:
t o l DFBA termination tolerance
7:
m a x I t e r DFBA maximum number of iterations
8:
for  h = 0 to m a x I t e r 1  do
9:
    λ h + 1 = λ h + γ ( L ξ h β )
10:
   for  i = 4 ( n p + 1 ) + 1 to length ( λ h + 1 )  do
11:
     if  λ h + 1 , i 0  then
12:
         λ h + 1 , i = 0
13:
     end if
14:
   end for
15:
    ξ h + 1 = Q L T λ h + 1 + ξ d
16:
   if  ξ h + 1 ξ h 2 / length ( ξ h ) < t o l  then
17:
     stop iteration
18:
   end if
19:
end for

3. Results

A case study was developed to test the algorithms described in Section 2.3. Consider a 48 m × 36 m warehouse that contains eight shelves and three mobile robots ( R m 1 , R m 2 , and R m 3 ). The task for each robot is to reach different target positions while avoiding the walls, the shelves, and the other robots. As described in Section 2.1, the walls and the shelves are modelled as rectangular obstacles, whose parameters are reported in Table 1, while the mobile robots are modelled as circular obstacles with a diameter equal to 1 m.
Since all the constraints of the optimisation problem are computed considering each mobile robot to be a point mass, all the obstacles are enlarged by the radius of the mobile robot. Given this environment, the following logistic task is simulated: (i) R m 1 has to move an object from point X to point Y , then returns to its home position H 1 ; (ii) R m 2 has to move an object from point Y to point X , then returns to its home position H 2 ; (iii) R m 3 has to store an object at point Z , then returns to the home position H 3 . The x and y coordinates of the above-mentioned target positions are listed in Table 2.
Figure 3 shows the simulation environment where the following elements are associated with each robot: (i) a disk representing the robot itself; (ii) a polytope representing the allowed area in which the robot can move; (iii) the path travelled by the robot; (iv) the current target position labelled with the × symbol; (v) the home position represented as a dot. The elements associated with R m 1 , R m 2 , and R m 3 are depicted in blue, red, and yellow, respectively.
A simulation, whose parameters are reported in Table 3, was implemented in Matlab® 2019b using the Parallel Computing Toolbox to measure the performances of the proposed algorithm.
The weights were chosen to promote the trajectory tracking performances rather than reducing the control effort. Figure 4 shows how the proposed algorithm avoids a crash between R m 1 and R m 2 . In Figure 4a, since the desired trajectory of each robot lies within the allowed area, the mutual obstacle constraints are inactive. In Figure 4b, the predicted positions deviate from the desired paths to satisfy the obstacle constraints. In Figure 4c, the two robots react to avoid a crash, leading to an increase in the trajectory tracking error. In Figure 4d, the two robots start to recover their desired paths.
The results of the simulation show that all the constraints of the optimisation problem are satisfied and the trajectory tracking error is bounded, except when the constraints are active. Figure 5 summarises the simulation results. In particular, Figure 5a shows the trend over time of the norm of the trajectory tracking error, Figure 5b represents the maximum value of the constraint of the nearest obstacle, while the velocity and control effort of each mobile robot along the x-axis and y-axis are depicted in Figure 5c–e, respectively.

4. Discussion

The performance of the proposed DFBA is evaluated by comparing its results with those obtained using IP and AS algorithms to solving the optimisation problem presented in the case study in Section 3. Both these algorithms are implemented in Matlab® 2019b using the standard functions of the Optimization Toolbox, setting the maximum number of iterations and the termination tolerance equal to that of the DFBA, as reported in Table 3. The results of the simulations are presented in Table 4, where:
  • e ^ is the mean of the norm of the trajectory tracking error;
  • σ e is the sample standard deviation of the norm of the trajectory tracking error;
  • max d m i n is the maximum value of the constraint of the nearest obstacle;
  • max v x is the maximum of the velocity of each mobile robot along the x-axis;
  • max v y is the maximum of the velocity of each mobile robot along the y-axis;
  • max u x is the maximum of control effort of each mobile robot along the x-axis.
  • max u y is the maximum of control effort of each mobile robot along the y-axis;
  • t ^ c is the mean of the computation time required by the algorithm.
Table 4. Comparison of the results obtained using different optimisation algorithms.
Table 4. Comparison of the results obtained using different optimisation algorithms.
Parameter R m 1 R m 2 R m 3 Unit
DFBAIPASDFBAIPASDFBAIPAS
e ^ 0.12 0.12 0.12 0.12 0.11 0.11 0.12 0.11 0.11 m
σ e 0.04 0.03 0.03 0.03 0.03 0.03 0.04 0.04 0.04 m
max d m i n 0.023 0.052 0.035 0.011 0.048 0.031 0.547 0.545 0.545 m
max v x 1.50 1.50 1.50 1.50 1.50 1.50 1.43 1.41 1.41 m/s
max v y 1.43 1.40 1.40 1.43 1.40 1.40 1.36 1.36 1.36 m/s 2
max u x 3.91 5.00 3.81 3.53 4.77 3.53 1.69 1.46 1.46 m/s
max u y 2.00 1.86 2.04 1.65 1.45 3.45 1.10 1.00 1.00 m/s 2
t ^ c 0.030 0.022 0.025 0.029 0.021 0.024 0.027 0.022 0.022 s
All the tested algorithms are able to solve the optimisation problem resulting from driving a mobile robotic platform into a two-dimensional semi-structured environment avoiding obstacles autonomously. They have comparable accuracy regarding the trajectory tracking error and the capability of satisfying both the obstacles’ constraints and the limits of the actuators. Concerning the computation time required to solve the optimisation problem, the IP and AS algorithms are, on average, 24.4 % and 17.4 % faster than the DFBA. However, unlike IP and AS algorithms, the DFBA can solve the Model Predictive Control problem using only matrix multiplications and operations, such as conditional statements and for loops. This feature is advantageous because it allows an efficient implementation of the MPCA in common micro-controllers.

5. Conclusions

In this paper, to address the problem of driving a mobile robotic platform in a two-dimensional semi-structured environment while autonomously avoiding obstacles, a Dual Forward–Backward Algorithm is proposed that can solve a Model Predictive Control Algorithm within a convex optimisation framework. First, the mathematical details about the problem formulation are described in terms of dynamic equations, system modelling, and algorithms. Then, a case study from the logistics sector, in which three mobile robots have to reach different target positions avoiding walls, shelves, and the other mobile robots within a warehouse environment, is simulated using the proposed optimisation method. Finally, for comparison, the case study is simulated using the Interior-Point algorithm and Active-Set algorithm to evaluate the performances of the proposed Dual Forward–Backward Algorithm.
The results of the simulations show that, for all the implemented algorithms, the constraints given by obstacles and actuators limits are satisfied; furthermore, the trajectory tracking error is bounded and approximately constant for all the simulated mobile robots except when the constraints are active, since the robots need to deviate from the desired path to avoid obstacles or satisfy the limits of the actuators. Although the Dual Forward–Backward Algorithm has a longer computational time than the Interior-Point and Active-Set algorithms, it can solve the Model Predictive Control problem using only matrix multiplications and operations that can be easily implemented in common micro-controllers: this is advantageous since it reduces hardware complexity, development costs, and implementation time. In addition, it is possible to increase the computational efficiency by exploiting the sparsity of the matrices. Finally, by setting the maximum number of iterations of the Dual Forward–Backward Algorithm, it is possible to define the maximum computation time required to satisfy real-time applications.
Future work will focus on implementing and testing the proposed algorithm on real mobile robots in a semi-structured environment. Further developments will exploit predictions of the future positions of each mobile robot, computed by the Model Predictive Control Algorithm, to estimate how the constraints will change in the prediction horizon. This should have the potential to significantly enhance the capability of each robot to avoid collisions, and at the same time optimise the path through earlier planning of course corrections.

Author Contributions

Conceptualization, D.L. and P.G.; methodology, D.L. and P.G.; software, D.L. and A.P.; validation, D.L., A.P. and L.D.M.C.D.V.; writing—original draft preparation, A.P. and D.L.; writing—review and editing, L.D.M.C.D.V., C.C. and D.G.C.; supervision, C.C.; project administration, D.G.C. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Acknowledgments

The authors would like to thank Saverio Salzo and Silvia Villa for sharing their knowledge and supporting the team in the mathematical formulation of the problem.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A. Equality Constraints Details

The matrices introduced to describe the dynamic equations are the following:
A = I 2 T s I 2 0 2 , 2 I 2 and B = T s 2 I 2 T s I 2 .
The vector b R 4 n p + 1 and the matrix Φ R 4 n p + 1 × n v introduced to compute the equality constraints are defined as
b = z 0 0 4 n p , 1 and Φ = Φ 11 0 4 , 2 n p Φ 21 Φ 22 ,
where Φ 11 R 4 × 4 n p + 1 is defined as
Φ 11 = I 4 0 4 , 4 n p ,
Φ 21 R 4 n p × 4 n p + 1 is defined as
Φ 21 = A I 4 0 4 , 4 0 4 , 4 0 4 , 4 A I 4 0 4 , 4 0 4 , 4 0 4 , 4 0 4 , 4 A I 4 0 4 , 4 0 4 , 4 0 4 , 4 A I 4 ,
and Φ 22 R 4 n p × 2 n p is defined as
Φ 22 = B 0 4 , 2 0 4 , 2 0 4 , 2 B 0 4 , 2 0 4 , 2 0 4 , 2 B .

Appendix B. Inequality Constraints Definition

The vector d R n d introduced to compute the inequality constraints is the following:
d = d 1 T d 1 T d 2 T d 3 T T ,
where
d 1 = n 1 , P 1 n n a , P n a T
is repeated n p + 1 times, while
d 2 = v m a x 𝟙 2 n p + 1 , 1 v m i n 𝟙 2 n p + 1 , 1 and d 3 = u m a x 𝟙 2 n p , 1 u m i n 𝟙 2 n p , 1 .
The matrix C R n d × n v introduced to compute the inequality constraints is described as follows:
C = C 11 0 n a n p + 1 , 2 n p C 21 0 2 n p + 1 , 2 n p C 31 0 2 n p + 1 , 2 n p 0 4 n p , 4 n p + 1 C 3 , 2 ,
where C 11 R n a n p + 1 × 4 n p + 1 is defined as
C 11 = V 0 n a , 4 0 n a , 4 0 n a , 4 V 0 n a , 4 0 n a , 4 0 n a , 4 V ,
with
V = n 1 T 0 1 , 2 n n a T 0 1 , 2 ,
C 21 R 4 n p + 1 × 4 n p + 1 is defined as
C 21 = M 0 2 , 4 0 2 , 4 0 2 , 4 M 0 2 , 4 0 2 , 4 0 2 , 4 M ,
with
M = 0 2 , 2 I 2 ,
C 31 R 4 n p + 1 × 4 n p + 1 is defined as
C 31 = C 21 ,
and
C 3 , 2 = I 2 n p I 2 n p .

References

  1. Dachs, B.; Seric, A. Industry 4.0 and the Changing Topography of Global Value Chains; Department of Policy Research and Statistics Working Paper 10/2019; United Nations Industrial Development Organization: Vienna, Austria, 2019. [Google Scholar]
  2. Li, B.; Duan, L.; Peng, G.; Lv, B. Internet plus strategy and transformation and upgrading of traditional enterprises. Asian Econ. Financ. Rev. 2019, 9, 712–723. [Google Scholar] [CrossRef] [Green Version]
  3. Atayah, O.F.; Dhiaf, M.M.; Najaf, K.; Frederico, G.F. Impact of COVID-19 on financial performance of logistics firms: Evidence from G-20 countries. J. Glob. Oper. Strateg. Sourc. 2021, 15, 172–196. [Google Scholar] [CrossRef]
  4. Jabbar, S.; Khan, M.; Silva, B.N.; Han, K. A REST-based industrial web of things’ framework for smart warehousing. J. Supercomput. 2018, 74, 4419–4433. [Google Scholar] [CrossRef]
  5. Bacchetta, M.; Bekkers, E.; Piermartini, R.; Rubinova, S.; Stolzenburg, V.; Xu, A. COVID-19 and Global Value Chains: A Discussion of Arguments on Value Chain Organization and the Role of the WTO; Technical Report; WTO Staff Working Paper; World Trade Organization: Geneva, Switzerland, 2021. [Google Scholar]
  6. Štibinger, P.; Broughton, G.; Majer, F.; Rozsypálek, Z.; Wang, A.; Jindal, K.; Zhou, A.; Thakur, D.; Loianno, G.; Krajník, T.; et al. Mobile Manipulator for Autonomous Localization, Grasping and Precise Placement of Construction Material in a Semi-Structured Environment. IEEE Robot. Autom. Lett. 2021, 6, 2595–2602. [Google Scholar] [CrossRef]
  7. Patle, B.; Pandey, A.; Parhi, D.; Jagadeesh, A. A review: On path planning strategies for navigation of mobile robot. Def. Technol. 2019, 15, 582–606. [Google Scholar] [CrossRef]
  8. Hart, P.E.; Nilsson, N.J.; Raphael, B. A Formal Basis for the Heuristic Determination of Minimum Cost Paths. IEEE Trans. Syst. Sci. Cybern. 1968, 4, 100–107, Erratum in SIGART Bull. 1972, 37, 28–29. [Google Scholar] [CrossRef]
  9. Hoy, M.; Matveev, A.S.; Savkin, A.V. Algorithms for collision-free navigation of mobile robots in complex cluttered environments: A survey. Robotica 2015, 33, 463–497. [Google Scholar] [CrossRef] [Green Version]
  10. Mousavi, M.A.; Heshmati, Z.; Moshiri, B. LTV-MPC based path planning of an autonomous vehicle via convex optimization. In Proceedings of the IEEE 2013 21st Iranian Conference on Electrical Engineering (ICEE), Mashhad, Iran, 14–16 May 2013; pp. 1–7. [Google Scholar]
  11. Wolfe, P. The simplex method for quadratic programming. Econom. J. Econom. Soc. 1959, 27, 382–398. [Google Scholar] [CrossRef]
  12. Nocedal, J.; Wright, S.J. Numerical Optimization; Springer: Berlin/Heidelberg, Germany, 1999. [Google Scholar]
  13. Boyd, S.; Boyd, S.P.; Vandenberghe, L. Convex Optimization; Cambridge University Press: Cambridge, UK, 2004. [Google Scholar]
  14. Bauschke, H.H.; Combettes, P.L. Proximal Minimization. In Convex Analysis and Monotone Operator Theory in Hilbert Spaces; Springer International Publishing: Cham, Switzerland, 2017; pp. 515–534. [Google Scholar]
  15. Süli, E.; Mayers, D.F. An Introduction to Numerical Analysis; Cambridge University Press: Cambridge, UK, 2003. [Google Scholar]
  16. Rockafellar, R.T. Convex Analysis; Princeton University Press: Princeton, NJ, USA, 2015. [Google Scholar]
Figure 1. Obstacles model.
Figure 1. Obstacles model.
Electronics 12 00622 g001
Figure 2. Example of computing the maximum convex polytope Ω t .
Figure 2. Example of computing the maximum convex polytope Ω t .
Electronics 12 00622 g002
Figure 3. A frame of the simulation of the logistic task showing the mobile robots with their allowed area, their travelled path, and their current target.
Figure 3. A frame of the simulation of the logistic task showing the mobile robots with their allowed area, their travelled path, and their current target.
Electronics 12 00622 g003
Figure 4. Detail of how the proposed algorithm avoids a crash between R m 1 and R m 2 . For each robot, the predicted positions (grey dots), the desired trajectory (coloured dots), the travelled path (coloured line), and the allowed area (coloured polytope) are reported. R m 1 and R m 2 are shown in blue and red, respectively. (a) The desired trajectory of each robot lies within the allowed area, hence the obstacles constraints are inactive; (b) The predicted positions deviate from the desired paths to satisfy the obstacle constraints; (c) The two robots react to avoid a crash; (d) The two robots start to recover their desired paths.
Figure 4. Detail of how the proposed algorithm avoids a crash between R m 1 and R m 2 . For each robot, the predicted positions (grey dots), the desired trajectory (coloured dots), the travelled path (coloured line), and the allowed area (coloured polytope) are reported. R m 1 and R m 2 are shown in blue and red, respectively. (a) The desired trajectory of each robot lies within the allowed area, hence the obstacles constraints are inactive; (b) The predicted positions deviate from the desired paths to satisfy the obstacle constraints; (c) The two robots react to avoid a crash; (d) The two robots start to recover their desired paths.
Electronics 12 00622 g004
Figure 5. Simulation results. The shaded areas correspond to the avoided collision event described in Figure 4.
Figure 5. Simulation results. The shaded areas correspond to the avoided collision event described in Figure 4.
Electronics 12 00622 g005
Table 1. Rectangular Obstacles Parameters.
Table 1. Rectangular Obstacles Parameters.
V i , 1 V i , 2 V i , 3 V i , 4 Unit
x y x y x y x y
O 1 63222322230630m
O 2 2832443244302830m
O 3 62422242222622m
O 4 2824442444222822m
O 5 61622162214614m
O 6 2816441644142814m
O 7 6822822666m
O 8 288448446286m
O 9 0381381000m
O 10 49385038500490m
O 11 13849384937137m
O 12 1149149010m
Table 2. Target Positions.
Table 2. Target Positions.
H 1 H 2 H 3 XYZUnit
x357143240m
y363636102010m
Table 3. Simulation Parameters.
Table 3. Simulation Parameters.
AlgorithmParameterValueUnit
MPCA δ 0.1 m
w p 51/m
w v 3s/m
w u 1s 2 /m
u m a x 5m/s 2
u m i n 5m/s 2
v m a x 1.5 m/s
v m i n 1.5 m/s
T s 0.1 s
n p 10
DFBA m a x I t e r 5 × 10 4
t o l 1 × 10 6
μ 1
γ 0.99 γ m
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Ludovico, D.; Guardiani, P.; Pistone, A.; De Mari Casareto Dal Verme, L.; Caldwell, D.G.; Canali, C. A Dual Forward–Backward Algorithm to Solve Convex Model Predictive Control for Obstacle Avoidance in a Logistics Scenario. Electronics 2023, 12, 622. https://doi.org/10.3390/electronics12030622

AMA Style

Ludovico D, Guardiani P, Pistone A, De Mari Casareto Dal Verme L, Caldwell DG, Canali C. A Dual Forward–Backward Algorithm to Solve Convex Model Predictive Control for Obstacle Avoidance in a Logistics Scenario. Electronics. 2023; 12(3):622. https://doi.org/10.3390/electronics12030622

Chicago/Turabian Style

Ludovico, Daniele, Paolo Guardiani, Alessandro Pistone, Lorenzo De Mari Casareto Dal Verme, Darwin G. Caldwell, and Carlo Canali. 2023. "A Dual Forward–Backward Algorithm to Solve Convex Model Predictive Control for Obstacle Avoidance in a Logistics Scenario" Electronics 12, no. 3: 622. https://doi.org/10.3390/electronics12030622

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop