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.
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
where is the acceleration of the robot and is the actuator control signal. The improved Euler method [15] can be used to obtain the discrete time model of the system:
where is the sample time, is the actuator control signal at a given time instant k, while , and , are the position and velocity at a given time instant and k, respectively. Equation (1) can be written in state-space form as follows:
where and are the states of the system at a given time instant k and , 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:
where is the identity matrix and is the 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:
where is a matrix all of whose entries are one, while , , , and 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 , as reported in Figure 1. A generic circular obstacle is defined as follows:
where and are the centre and the radius of , respectively. Similarly, a generic rectangular obstacle is defined as follows:
where is the vertex of , is the outward-pointing normal vector to the side of , and indicates the inner product. Then, the robot is constrained to move into a non-convex set:
where
and and are the number of circular and rectangular obstacles, respectively.
Figure 1.
Obstacles model.
The maximum convex polytope containing the centre of the robot , as shown in Figure 2, is defined as
where is the minimum number of lines necessary to define , while and have different meaning depending on the obstacle type. For circular obstacles, and is the point on the boundary of the circular obstacle at minimum distance from . For each rectangular obstacle, the eight sets and with are defined, as shown in Figure 1b. If , and , otherwise, if , and .
Figure 2.
Example of computing the maximum convex polytope .
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 predictions of the system states and control variables, it is possible to define the optimisation variables , where , as
Then, introducing the vector containing the initial state, the desired states, and the desired control inputs (set to zero to reduce the control effort)
the objective can be modelled as a quadratic function
where the matrix 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:
where the weights of the position error and the velocity error
are repeated times, while the weight of the control effort
is repeated times. The parameters , , and 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 to satisfy the dynamic equations. Considering a prediction horizon of samples, it is possible to write (3) at each in terms of the optimisation variables as linear equality constraints
Details about matrix and vector 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 samples, it is possible to write (4) and (5) in terms of the optimisation variables and in compact form as
where . Details about matrix C and vector 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:
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 and the subset , where , the indicator function of can be defined as
Then, introducing the linear operator
and the vector
the optimisation problem described in (9) can be equivalently rewritten as
where F is a set defined as follows:
The convex conjugate [16] of (11) has the following form:
where , , is the Legendre-Fenchel conjugate of and is equal to
while is the Legendre-Fenchel conjugate of and is equal to
where
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 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 , and ) 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, , 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 . 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 |
|
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, and , to compute the inequality constraints required to define . 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 , is differentiable on , and is -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:
| Algorithm 2 CSSA |
|
Thus, the dual solution uniquely determines the primal solution. Under these conditions, it is possible to solve (9) using the following DFBA:
where
is the ith component of the optimisation variable of the dual problem at the hth iteration, and with , where the modulus of convexity is computed as the minimum eigenvalue of . The pseudocode of the DFBA is described in Algorithm 3.
| Algorithm 3 DFBA |
|
3. Results
A case study was developed to test the algorithms described in Section 2.3. Consider a warehouse that contains eight shelves and three mobile robots (, , and ). 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.
Table 1.
Rectangular Obstacles Parameters.
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) has to move an object from point to point , then returns to its home position ; (ii) has to move an object from point to point , then returns to its home position ; (iii) has to store an object at point , then returns to the home position . The x and y coordinates of the above-mentioned target positions are listed in Table 2.
Table 2.
Target Positions.
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 , , and are depicted in blue, red, and yellow, respectively.
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.
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.
Table 3.
Simulation Parameters.
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 and . 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.
Figure 4.
Detail of how the proposed algorithm avoids a crash between and . 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. and 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.
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.
Figure 5.
Simulation results. The shaded areas correspond to the avoided collision event described in Figure 4.
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:
- is the mean of the norm of the trajectory tracking error;
- is the sample standard deviation of the norm of the trajectory tracking error;
- is the maximum value of the constraint of the nearest obstacle;
- is the maximum of the velocity of each mobile robot along the x-axis;
- is the maximum of the velocity of each mobile robot along the y-axis;
- is the maximum of control effort of each mobile robot along the x-axis.
- is the maximum of control effort of each mobile robot along the y-axis;
- 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 | Unit | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| DFBA | IP | AS | DFBA | IP | AS | DFBA | IP | AS | ||
| m | ||||||||||
| m | ||||||||||
| m | ||||||||||
| m/s | ||||||||||
| m/s | ||||||||||
| m/s | ||||||||||
| m/s | ||||||||||
| 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, and 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:
The vector and the matrix introduced to compute the equality constraints are defined as
where is defined as
is defined as
and is defined as
Appendix B. Inequality Constraints Definition
The vector introduced to compute the inequality constraints is the following:
where
is repeated times, while
The matrix introduced to compute the inequality constraints is described as follows:
where is defined as
with
is defined as
with
is defined as
and
References
- 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]
- 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]
- 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]
- 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]
- 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]
- Š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]
- 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]
- 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]
- 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]
- 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]
- Wolfe, P. The simplex method for quadratic programming. Econom. J. Econom. Soc. 1959, 27, 382–398. [Google Scholar] [CrossRef]
- Nocedal, J.; Wright, S.J. Numerical Optimization; Springer: Berlin/Heidelberg, Germany, 1999. [Google Scholar]
- Boyd, S.; Boyd, S.P.; Vandenberghe, L. Convex Optimization; Cambridge University Press: Cambridge, UK, 2004. [Google Scholar]
- 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]
- Süli, E.; Mayers, D.F. An Introduction to Numerical Analysis; Cambridge University Press: Cambridge, UK, 2003. [Google Scholar]
- Rockafellar, R.T. Convex Analysis; Princeton University Press: Princeton, NJ, USA, 2015. [Google Scholar]
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. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).