[81]. The control problem associated with a mobile robot can then be defined as a feedback control system. The idea is that the controller senses the position/pose of the robot, compares it against the desired reference, computes corrective actions based on a model of the robot and actuates the robot to effect the desired change. As highlighted in [9], the key issues in designing control logic are ensuring that the dynamics of the closed‐loop system are stable (bounded disturbances give bounded errors) and that they have additional desired behavior (good disturbance attenuation and fast responsiveness to changes in the operating point, among others).
It is important to remark that mobile robotics comprises a challenging field from a control standpoint as there are some phenomena that influence robot's controllability, such as hard constraints fulfillment (e.g. physical limitations of actuators, narrow workspaces), and uncertainties (e.g. unmodelled dynamics, simplified models, noisy measurements). For that reason, in the past few years, many research efforts have been devoted to the application of different control strategies.
One of the first path following approaches was proposed by R. Craig Coulter in the early 1980s for the Terregator robot [45]. The name “pure pursuit” comes from the analogy for the way humans drive. We tend to look some distance in front of the car and head toward that spot. This lookahead distance changes as we drive to reflect the twist of the road and vision occlusions. In the pure pursuit algorithm, this lookahead distance plays a key role between accuracy following the desired route and aggressiveness of the control actions [79]. A similar algorithm to pure pursuit is called “carrot heading”. Here, the algorithm determines the next point to be followed by calculating the intersection of a circle centered on the rover frame origin with the desired path [94]. These two well‐known approaches belong to the category of path followers, that is, the robot follows a desired path with no concern about the orientation.
The second major problem dealing with mobile robot control is the trajectory tracking problem. In this case, the robot must follow a “virtual robot” (position and orientation) at each sampling time [81, 163]. This problem has benefited from the application of advanced controllers that appeared in the field of state feedback control [9, 24, 202]. For example, in [24, 105], a linear feedback control strategy is used for controlling a non‐holonomic mobile robot where stability is ensured by tuning the feedback gains of the control strategy according to a Lyapunov function. This controller was extended in [80] for compensating for longitudinal slip in mobile robots operating in off‐road conditions.
The problem of trajectory tracking in mobile robotics has also benefited from another broad body of research: Model Predictive Control (MPC). MPC is based on generating the control input to be applied to the robot by solving an optimization problem considering the robot constraints and the desired reference to be tracked [156, 177, 208]. For instance, in [137], the authors use an MPC controller to enable both anticipation of approaching curvature and to compensate from lateral slip phenomena for path tracking control of an agricultural vehicle. In [108], an MPC is applied to the trajectory tracking problem. The control law is analytically derived, which permits its application to a physical mobile robot. In order to avoid vehicle slip, velocity and acceleration are bounded. The work [77] presents a predictive strategy that permits the robot to avoid unexpected static obstacles in the robot environment. In this case, a neural network was trained to be able to run the MPC‐based controller in real‐time. A Smith‐predictor‐based generalized predictive controller is discussed in [161]. This control strategy permits dealing with dead‐time uncertainties related to a mobile robot control motion. Generally, the main issue of robust MPC strategies, which sometimes prevent its physical application, is related to the high computation burden [176]. Recently, an efficient theoretical concept, called a “tube‐based MPC”, has been applied to robustify MPC and has been applied to mobile robots operating in off‐road conditions [11, 80, 81].
1.4 Motivation for expressive tasks
As previously explained, path planning may be understood as a strategic competence that deals with the long‐term goal of a robot (or a group of robots), that is, depending on the mission to be achieved by the robot different routes or regions must be visited or avoided based on logic or temporal requirements [13, 14, 66, 88, 118]. As [13, 14] explain, this way to define the path planning problem can be solved by following a hierarchical, three‐level process (see Figure 1.6). At the top of this hierarchy is the specification level. Here is exactly where strategies based on cell decomposition play a key role. Recall that cell decomposition is based on partitioning the free configuration space into a finite set of regions that can be safely traversed by the robot. These set of regions can be represented as a graph. After this, the execution level is responsible for generating an optimal path, for example, by minimizing the expected traveled distance and/or accounting for the proximity to obstacles. Finally, the implementation level ensures that the reference trajectory traversing the sequence of cells given by the path previously obtained is followed by the actual robot. The main limitation of this way to formulate the path planning problem is that specifications like “reach cell A, and then cell B, and stay there for all future times” cannot be properly addressed. This is what motivates the use of symbolic approaches for the specification of high‐level path planning missions [13, 66].
Figure 1.6 Path planning levels. Path planning levels of standard navigation problem.
One possible necessity of using high‐level specifications instead of standard navigation problem (reaching a final configuration) is in the factories of the future, where workers and robots will cooperate in fulfilling complex tasks, in order to obtain as soon as possible the products requested by the consumers [55, 179, 189]. The robots should automatically adapt and optimize the usage of these shared frameworks [50, 197], and one of the important aspects is to automatically compute collision‐free trajectories. Since the number of mobile robots could be high, it is important to have computationally attractive techniques to plan trajectories for teams of robots.
There are several formalisms for specifying the high‐level path planning goals explained previously, from which we focus on two: Linear‐time Temporal Logic (LTL) formulas [10] and Boolean‐based formulas [147]. These approaches and their applications will be largely explained in subsequent chapters, as only a brief description of them is given here. Other formalisms, such as Computation Tree Logic (CTL) [10] and generalized reactivity (1) formula (GR(1)) [170], are also employable to capture similar specifications.
Linear‐time temporal logic is a general‐purpose mathematical language for describing linear‐time problems, which was first pointed out by Amir Pnueli in 1977 [171]. In the specific context of mobile robotics, the set of mathematical operators defined by LTL can be used for encoding rules about the sequence of paths that a robot (or a team of robots) should follow. The success of LTL is that high‐level specifications defined in a natural human level can be easily translated into LTL statements. Although LTL formulation has demonstrated a significant contribution to the field of mobile robotics [13, 66, 111], it generally demands a high computation load.
Figure 1.7 shows an example involving a path planning problem that can be solved by using the LTL formulation. Imagine the user wants to use the robot for performing a surveillance activity. As a result, he/she defines the following high‐level mission: “the robot must reach A and then B, once it reaches B, the robot must move from B to A and back constantly”. The first step would be to run a cell‐decomposition‐based algorithm in order to partition the free configuration space into a finite set of regions. After that, the LTL formula and a suitable approach would find the sequence of steps to go from the current position of the robot to A and then to B. Finally, the robot would move from B to A and back constantly. Should the mission required only “the robot must reach A and then B”, a Boolean‐based formalism for capturing it and a corresponding