A Multi-Switching Tracking Control Scheme for Autonomous Mobile Robot in Unknown Obstacle Environments

: The obstacle avoidance control of mobile robots has been widely investigated for numerous practical applications. In this study, a control scheme is presented to deal with the problem of trajectory tracking while considering obstacle avoidance. The control scheme is simpliﬁed into two controllers. First, an existing trajectory tracking controller is used to track. Next, to avoid the possible obstacles in the environment, an obstacle avoidance controller, which is used to determine the fastest collision avoidance direction to follow the boundary of the obstacle at a constant distance, is proposed based on vector relationships between the robot and an obstacle. Two controllers combined via a switch strategy are switched to perform the task of trajectory tracking or obstacle avoidance. The stability of each controller in the control scheme is guaranteed by a Lyapunov function. Finally, several simulations are conducted to evaluate the proposed control scheme. The simulation results indicate that the proposed scheme can be applied to the mobile robot to ensure its safe movement in unknown obstacle environments.


Introduction
In recent years, the wheeled mobile robot (WMR) has received much attention due to its many practical applications, which is widely used in various aspects, such as search and rescue [1], multi-robotic formation [2,3], industrial applications [4,5], military operations [6,7], and so on. These applications require the mobile robot to move autonomously and carry out a variety of automated tasks which include trajectory tracking, obstacle avoidance, formation control, etc. For the control of mobile robots, the major challenge is to develop effective controllers to deal with various tasks. Among those tasks, the problems of obstacle avoidance and trajectory tracking are especially important for autonomous movement.
Obstacle avoidance is a necessary function in robotics technology. It aims to ensure the robot would not collide with obstacles in unknown environments. The obstacle avoidance problem has been investigated by many researchers. In [8], a path planning algorithm was designed using the sensor fusion of a camera and a laser radar to generate a collision-free path. In addition, artificial potential field (APF) [9,10] methods were presented for obstacle avoidance. They use a potential field function to generate an obstacle-free trajectory by creating an attractive force for the goal and a repulsive force around the obstacle to avoid collision. In [11,12], The genetic algorithms (GA) inspired by evolutionary theory were devised to generate optimal paths from one start point to the target location within given resented to find a feasible path for the multi-objective path planning problem. In [14,15], some common optimization technologies like particle swarm optimization (PSO) and ant colony optimization (ACO) were also presented to resolve the obstacle avoidance problem in terms of multi-objective optimization. However, the main drawbacks of those heuristic or evolutionary methods based on optimization techniques are that they have possible local minimum problem in computation, and their computations are complicated. In order to solve those limitations, researchers studied the obstacle avoidance problem based on control theory, and obstacle avoidance methods using the geometric relationship between the robot and an obstacle were proposed to avoid possible obstacle [16][17][18][19]. Whereas the above-mentioned works only consider obstacle avoidance for mobile robots without taking trajectory tracking into account.
Robots follow a desired trajectory generated by a virtual mobile robot based on its kinematic model and initial posture, which can navigate the mobile robot to the desired position. This tracking problem has been studied by many researchers, and there are a lot of control strategies are proposed for mobile robots, such as model predict control (MPC) [20][21][22], sliding mode control (SMC) [23][24][25][26], fuzzy control [27][28][29], adaptive control [30][31][32], and intelligent control [33,34], etc. However, most of them studied the trajectory tracking problem under the assumption that the movement of the robot is in an obstacle-free environment. Hence, the design of the controller lacks the consideration of the possible collisions in the environment.
In the above discussion, the obstacle avoidance problem is addressed by pathing planning algorithm or obstacle avoidance controller. Besides those mentioned literatures, some studies presented some unified controllers by considering the obstacle avoidance function in trajectory tracking controller to handle the problems of tracking and obstacle avoidance over the past few years [35][36][37][38], few studies have focused on the combination of multiple controllers [39]. Furthermore, it is extremely hard to address the problem of trajectory tracking with obstacles utilizing only one controller for the difficulties in design and the high computational cost. Therefore, the combination of practical, low-computational cost, and effective controllers is important to ensure the movement of the mobile robot.
This paper presents a control scheme for a mobile robot to navigate it from a start position to a desired destination. The mobile robot tracks a pre-planned trajectory by using the reference posture and reference velocities as input signals for its control system. Owing to unknown obstacles in the environment, an obstacle avoidance controller is presented to escape the obstacle. In this paper, the problem of trajectory tracking in unknown obstacle environments is simplified by dividing the objective of control scheme into two controllers, trajectory tracking and obstacle avoidance controllers. Both controllers are designed separately based on their own error dynamic model to execute the corresponding task. In this control scheme, a switch strategy is introduced to combine two controllers, and the current controller executed by the control system of mobile robot is switched between the trajectory tracking controller and the obstacle avoidance controller, which means that only one controller works at specific condition to guarantee the performance of each task In this paper, an existing trajectory tracking controller is used to track the pre-planned trajectory. Once an obstacle is detected by the mobile robot, the safe boundary and risk area of the obstacle are generated by the obstacle controller. When the obstacle avoidance condition is satisfied, a blending vector used to determine the fastest obstacle avoidance direction and follow the boundary of the obstacle to avoid the obstacle. After the completion of the obstacle avoidance, the trajectory tracking controller is activated to track the pre-planned trajectory. The advantage of this control scheme is to divide the complex tracking problem into two simple and low-computational controllers combined via a switch strategy. The stability of the proposed control scheme is proved by a Lyapunov function. In addition, the effectiveness of the proposed control scheme is evaluated by the simulation results.
The rest of this paper is organized as follows. In Section 2, the problem statement related to control scheme is stated. In Section 3, an obstacle avoidance control method is presented to avoid the possible collision. In Section 4, a switch strategy used to combine the tracking and obstacle avoidance controllers is introduced. In Section 5, several simulations are given to validate the effectiveness of the proposed control scheme. In Section 6, brief conclusions and future studies are discussed.

Problem Statement
The robot discussed in this paper is a two-wheeled mobile robot. The kinematic model of the robot is described in detailed in [40,41]. The environment where the mobile robot works is always filled with unknown obstacles. That is, static obstacles or dynamic obstacles, and their position information is prior or measured by the sensors attached to the mobile robot during its movement. In this paper, the obstacle avoidance problem can be defined as designing a feasible path from the perspective of control theory, meaning that will not collide with the obstacles. In the control domain of the mobile robot, the task of the mobile robot requires navigating the robot from a start point to a desired position. Trajectory tracking typically plays an important role in the navigation task. In order to implement the trajectory tracking, we use a classic nonlinear control rule to track the trajectory, and then combined with our proposed obstacle avoidance method. In this paper, to deal with the problem that the mobile robot encounters an obstacle when tracking, an obstacle avoidance controller is presented. The basic idea of the controller is to drive the mobile robot to a direction determined by a blending vector to follow the boundary of the obstacle at a constant distance, and then escape the obstacle to track the trajectory.

Trajectory Tracking Control
In this section, an existing trajectory tracking controller is introduced, which aims to find appropriate control inputs of the mobile robot and then make tracking errors to zero when the tracking time goes to infinite.
The trajectory tracking problem that the mobile robot tracks the reference trajectory generated by a moving virtual mobile robot is depicted in Figure 1. Let q r = x r y r θ r T denote the posture of the virtual mobile robot, and the current posture of the mobile robot is expressed as q = x y θ T . The tracking errors e 1 , e 2 , and e 3 between the mobile robot and the virtual mobile robot denoted in the body coordinate system {O 1 } are given by A classic control rule for the trajectory tracking is given [42] v = v r cos e 3 + k 1 e 1 (2) where k 1 , k 2 , and k 3 are positive constants. the control inputs described in Equations (2) and (3) are used, the tracking errors e 1 , e 2 , and e 3 will converge to zero.

Problem Statement
The robot discussed in this paper is a two-wheeled mobile robot. The kinematic model of the robot is described in detailed in [40,41]. The environment where the mobile robot works is always filled with unknown obstacles. That is, static obstacles or dynamic obstacles, and their position information is prior or measured by the sensors attached to the mobile robot during its movement. In this paper, the obstacle avoidance problem can be defined as designing a feasible path from the perspective of control theory, meaning that will not collide with the obstacles. In the control domain of the mobile robot, the task of the mobile robot requires navigating the robot from a start point to a desired position. Trajectory tracking typically plays an important role in the navigation task. In order to implement the trajectory tracking, we use a classic nonlinear control rule to track the trajectory, and then combined with our proposed obstacle avoidance method. In this paper, to deal with the problem that the mobile robot encounters an obstacle when tracking, an obstacle avoidance controller is presented. The basic idea of the controller is to drive the mobile robot to a direction determined by a blending vector to follow the boundary of the obstacle at a constant distance, and then escape the obstacle to track the trajectory.

Trajectory Tracking Control
In this section, an existing trajectory tracking controller is introduced, which aims to find appropriate control inputs of the mobile robot and then make tracking errors to zero when the tracking time goes to infinite.
The trajectory tracking problem that the mobile robot tracks the reference trajectory generated by a moving virtual mobile robot is depicted in Figure 1. Let = denote the posture of the virtual mobile robot, and the current posture of the mobile robot is expressed as = . The tracking errors , , and between the mobile robot and the virtual mobile robot denoted in the body coordinate system are given by A classic control rule for the trajectory tracking is given [42] = cos + (2) where , , and are positive constants. the control inputs described in Equations (2) and (3) are used, the tracking errors , , and will converge to zero.

Analysis of Obstacle Avoidance Problem
In this section, a mobile robot is considered with the mission of avoiding collision between the robot and circular obstacles in a two-dimensional plane. Let M(x, y) and O(x 0 , y 0 ) be the positions of the robot and the obstacle, respectively. In order to facilitate the design and analysis of the obstacle avoidance controller, several definitions are introduced in the following. Definition 1. An obstacle can be considered be detected by the mobile robot if the following expression is satisfied: where D det represents the maximum measurement distance of the range sensor attached to the mobile robot. D r denotes the relative distance between the robot and an obstacle, and the D r is calculated by the expression where represents a vector pointing from the position of the mobile robot to the position of the obstacle, and · represents the Euclidean norm of a vector.

Definition 2.
In practical situations, to avoid the possible collision occurred when the mobile robot tracks the trajectory, a safe distance relative to the obstacle surface is required to be defined to form the safe boundary of the obstacle, which can be denoted as where D s denotes a constant safe distance from the obstacle, and R m represents the radius of the mobile robot.

Definition 3.
The collision occurs if the relative distance and the safe distance satisfy the following relationship Definition 4. The robot would collide an obstacle if it is going on tracking the reference trajectory, in this case, the robot needs to perform an obstacle avoidance controller to avoid collision when the relative distance D r satisfies the condition D s < D r ≤ D act (8) where D act denotes a distance value to activate the obstacle avoidance controller under the condition that the obstacle avoidance is not completed. The value of D act is a little larger than D s , it gives a chance for the robot to activate the obstacle avoidance controller instead of activating the obstacle avoidance controller at the distance D s rapidly.
To drive the mobile robot to keep a constant distance from the obstacle, a vector is defined to steer the robot in the direction of the vector, which can be described as Electronics 2020, 9, 42

of 14
The vector u p is used to maintain a constant distance to the obstacle when the robot is following the boundary of the obstacle. It is a vector pointing towards the obstacle when the relative distance D r > D s . The vector u p will be zero vector when the robot follows the boundary of the obstacle at a constant distance D s . It is a vector pointing away from the obstacle when D r < D s .
At the same time, we also expect the robot to drive in the direction that is parallel to the boundary of the obstacle, another vector u f is determined by the expression Notice that the rotation matrix R is used to transform the vector u mo to the vector u f , where the value of α is π/2 or −π/2, which can be determined by the following equations where ϕ denotes the angle between the robot and the obstacle. θ is the current heading orientation of the mobile robot. The Equations (11) and (12) are used to determine the fastest direction of obstacle avoidance to follow the boundary of the obstacle when the mobile robot activates the obstacle avoidance controller. As shown in Figure 2b, when θ > ϕ, α = π/2, the vector u f can be obtained by rotating the vector u mo by α radians counterclockwise. The value of α remains constant in the stage of obstacle avoidance, and the robot moves towards its left side to follow the boundary of obstacle.
Electronics 2020, 9, x FOR PEER REVIEW 5 of 14 > . The vector will be zero vector when the robot follows the boundary of the obstacle at a constant distance . It is a vector pointing away from the obstacle when < .
At the same time, we also expect the robot to drive in the direction that is parallel to the boundary of the obstacle, another vector is determined by the expression = where = − Notice that the rotation matrix is used to transform the vector to the vector , where the value of is 2 ⁄ or − 2 ⁄ , which can be determined by the following equations where denotes the angle between the robot and the obstacle. is the current heading orientation of the mobile robot.
The Equations (11) and (12) are used to determine the fastest direction of obstacle avoidance to follow the boundary of the obstacle when the mobile robot activates the obstacle avoidance controller. As shown in Figure 2b, when > , = 2 ⁄ , the vector can be obtained by rotating the vector by radians counterclockwise. The value of remains constant in the stage of obstacle avoidance, and the robot moves towards its left side to follow the boundary of obstacle. Combining the two vectors and , a blending vector used to maintain the constant distance and follow the boundary of the obstacle is defined as Therefore, the desired direction of the motion of the robot can be calculated based on the vector as where represents the angle of the vector and the positive direction of the x-axis. The and represent the vector components on the x and y axes, respectively.
During the process of obstacle avoidance, the vectors and are varying with time. The time derivative of the can be represented as Combining the two vectors u p and u f , a blending vector used to maintain the constant distance and follow the boundary of the obstacle is defined as Therefore, the desired direction of the motion of the robot can be calculated based on the vector u as β = atan2 u y , u x Electronics 2020, 9, 42 6 of 14 where β represents the angle of the vector u and the positive direction of the x-axis. The u y and u x represent the vector components on the x and y axes, respectively. During the process of obstacle avoidance, the vectors u p and u f are varying with time. The time derivative of the u p can be represented as x cos ϕ + . y sin ϕ u mo (15) The time derivative of the vector u f is represented by the equation The time derivative of the blending vector u can be expressed as Combining Equations (15) and (16), Equation (17) can be rewritten as x cos ϕ + . y sin ϕ u mo (18) where I represents an identity matrix.
In order to analysis the completion of the obstacle avoidance, two vectors are defined as where vectors u 1 and u 2 are the vectors pointing from the obstacle to the mobile robot and the virtual mobile robot, respectively.

Definition 5.
If the virtual mobile robot is outside of the region formed by the value of D act , and the projection of vector u 1 onto the vector u 2 has the same direction of the vector u 2 , obstacle avoidance can be considered be completed. The completion of obstacle avoidance can be represented by the expressions where ψ is the angle of the vector u 1 and the vector u 2 . From Equations (19) and (20), the mobile robot can be viewed as having a clear shot to the virtual mobile robot, and then starts the trajectory tracking.

Obstacle Avoidance Control Design
The obstacle avoidance controller is designed to drive the robot to track the desired direction β, which means that the error e between the desired angle β and the current heading orientation θ converges to zero. The angle e is described as A control law for the obstacle avoidance controller is proposed as v = v r cos e 3 + k 1 e 1 (23) where k 1 and k 2 are positive control gains. Notice that the linear velocity of the mobile robot is the same as Equation (2). Combining Equations (14), (18) and (21), the angular velocity of the mobile robot for obstacle avoidance controller can be calculated. Equation (24) can be ultimately converted into a formula without derivative terms, meaning that will not produce possible noise in the obstacle avoidance control.
Substituting Equation (24)  Poof of Theorem 1. Considering a scalar-valued Lyapunov function candidate as Combining Equation (25), the time derivative of the Lyapunov function candidate V 1 can be expressed as Then, V 1 becomes a Lyapunov function, and the controller is asymptotically stable around e = 0.

Switch Strategy
In this control system, two kinds of dynamics-tracking error dynamics and obstacle avoidance dynamics-are utilized. The previous section has utilized a classic trajectory tracking controller and designed an obstacle avoidance controller. Considering the switch between two controllers, a switch strategy is introduced to combine two controllers.
A transition between two controllers is shown in Figure 3, where u TT and u AO represent the proposed control laws for the trajectory tracking and obstacle avoidance, respectively. The control system of the mobile robot switches different controllers according to the conditions mentioned in the previous section. Considering the practical situation, we define the conditions that represented in the where p 1 represents the condition that the completion of obstacle avoidance, and it is also used to switch the obstacle avoidance controller to trajectory tracking controller.
where p 2 represents the switch condition for control system to activate the obstacle avoidance controller.
where p 3 represents a condition that the control inputs of the mobile are zero, meaning that the robot will stop moving if the reference velocities of the virtual mobile robot are zero.
Electronics 2020, 9, x FOR PEER REVIEW 8 of 14 The above-mentioned three conditions are used to generate the appropriate control inputs to switch the controllers. At every time epoch, there is only one controller is activated. we can use and to represent the activated state of the trajectory tracking controller and obstacle avoidance controller, respectively. The determination of values of two variables and is the same, which depends on the state of the current controller executed by the control system. As an example, the value of the is 0 or 1, where 1 represents the controller is under activated state, otherwise, the value of is 0. The control scheme is composed of the two controllers, in order to analysis the stability of this hybrid control system. A total Lyapunov function is defined as = + where is the Lyapunov function in [42], and is the Lyapunov function of the obstacle avoidance controller.
The time derivative of the total Lyapunov function is expressed as From Equation (27), it can be derived that the derivative of is or . Thus, the stability of control system is guaranteed.

Simulation Results and Discussion
Simulations based on the proposed control scheme illustrated in Figure 4 are performed for trajectory tracking in obstacle environments. The simulations are composed of two examples, and two kinds of reference trajectories are utilized. The reference trajectory of the first example is a straight line. The reference trajectory of the second example is circular. The above-mentioned three conditions are used to generate the appropriate control inputs to switch the controllers. At every time epoch, there is only one controller is activated. we can use q 0 and q 1 to represent the activated state of the trajectory tracking controller and obstacle avoidance controller, respectively. The determination of values of two variables q 0 and q 1 is the same, which depends on the state of the current controller executed by the control system. As an example, the value of the q 0 is 0 or 1, where 1 represents the controller is under activated state, otherwise, the value of q 0 is 0.
The control scheme is composed of the two controllers, in order to analysis the stability of this hybrid control system. A total Lyapunov function is defined as where V 0 is the Lyapunov function in [42], and V 1 is the Lyapunov function of the obstacle avoidance controller. The time derivative of the total Lyapunov function is expressed as From Equation (27), it can be derived that the derivative of V is Thus, the stability of control system is guaranteed.

Simulation Results and Discussion
Simulations based on the proposed control scheme illustrated in Figure 4 are performed for trajectory tracking in obstacle environments. The simulations are composed of two examples, and two kinds of reference trajectories are utilized. The reference trajectory of the first example is a straight line. The reference trajectory of the second example is circular.

Simulation Results and Discussion
Simulations based on the proposed control scheme illustrated in Figure 4 are performed for trajectory tracking in obstacle environments. The simulations are composed of two examples, and two kinds of reference trajectories are utilized. The reference trajectory of the first example is a straight line. The reference trajectory of the second example is circular.  Table 1 shows the parameters used in two simulations.   Table 1 shows the parameters used in two simulations. The first example is simulated with a straight line.  Figure 5 shows the simulation results of the first example. At t 1 = 0.82 s, the mobile robot was tracking trajectory and the obstacle O 1 was detected in its working place. The tracking errors e 1 , e 2 and e 3 gradually converged to zero, as shown in Figure 5b,c. At t 2 = 3.10 s, the obstacle O 2 was detected. In this case, two obstacles were under the range of the sensors. At t 3 = 6.82 s, the mobile robot moved into the region formed by the D act , and the obstacle avoidance controller was activated to drive the robot to its right side to follow the boundary of the obstacle at a constant distance (Figure 5a). The relative distance D r1 between the robot and the obstacle O 1 kept constant during time period t 3 < t ≤ t 4 shown in Figure 5f. At t 4 = 8.76 s, the reference posture of the virtual mobile robot was outside the region formed by D act , and the projection of two vectors u 1 and u 2 have same direction in x-axis. Obstacle avoidance can be considered as being completed, and the controller was switched from the obstacle avoidance controller to the trajectory tracking controller. The mobile robot gone on tracking the reference trajectory. After this moment, the relative distance D r2 between the mobile robot and the obstacle O 2 gradually decreased. At t 5 = 9.36 s, D r2 ≤ D s , the trajectory tracking controller was stopped and the obstacle avoidance controller was activated. As shown in Figure 5a,f, the robot moved towards its left side to follow the boundary of the obstacle and kept a constant distance D s to the obstacle O 2 during time period t 5 < t ≤ t 6 . At t 6 = 11.10 s, the condition of completion of obstacle avoidance was satisfied, the trajectory tracking controller was performed, the relative distance D r2 gradually increased, and the tracking errors gradually decreased to zero (Figure 5b,c), which meant that the robot had escaped the obstacle and started the tracking. During the whole moving process, the relative distances D r1 and D r2 always satisfied the conditions D r1 ≥ D s and D r2 ≥ D s . Therefore, there is no collision occurred between the robot and the obstacles. The control inputs of the mobile robot in whole simulation are shown in Figure 5d,e. condition of completion of obstacle avoidance was satisfied, the trajectory tracking controller was performed, the relative distance gradually increased, and the tracking errors gradually decreased to zero (Figure 5b,c), which meant that the robot had escaped the obstacle and started the tracking. During the whole moving process, the relative distances and always satisfied the conditions ≥ and ≥ . Therefore, there is no collision occurred between the robot and the obstacles. The control inputs of the mobile robot in whole simulation are shown in Figure 5d,e.  between the robot and the obstacle satisfied the condition ≤ . The control system activated the obstacle avoidance controller to drive the robot to its left side to follow the boundary of the obstacle , and the mobile robot kept a constant distance to the obstacle before the completion of obstacle avoidance (Figure 6a,f). After = 7.06 s, the controller executed by the control system was switched to the trajectory tracking controller. As shown in Figure 6b,c, the tracking errors gradually converged to zero during < ≤ . At = 13.68 s , the obstacle avoidance controller was activated. The mobile robot moved towards its right side to follow the and O 2 (4.9, 3.8), respectively. Figure 6 shows the results of the second example. Before t 1 = 4.94 s, the mobile tracked the desired trajectory and detected the obstacles O 1 and O 2 . At t 1 = 4.94 s, the relative distance D r1 between the robot and the obstacle O 1 satisfied the condition D r1 ≤ D act . The control system activated the obstacle avoidance controller to drive the robot to its left side to follow the boundary of the obstacle O 1 , and the mobile robot kept a constant distance D s to the obstacle O 1 before the completion of obstacle avoidance (Figure 6a,f). After t 2 = 7.06 s, the controller executed by the control system was switched to the trajectory tracking controller. As shown in Figure 6b,c, the tracking errors gradually converged to zero during t 2 < t ≤ t 3 . At t 3 = 13.68 s, the obstacle avoidance controller was activated. The mobile robot moved towards its right side to follow the boundary of the obstacle O 2 during t 3 < t ≤ t 4 . At t 4 = 15.58 s, the obstacle avoidance with the obstacle O 2 was completed, and the trajectory tracking controller was activated to track the reference trajectory. As shown in Figure 6f, the relative distances between the robot and two obstacles represented by D r1 and D r2 always satisfied the conditions D r1 ≥ D s and D r2 ≥ D s . This shows that no collision occurred in unknown obstacle environments. The control inputs of the mobile robot are given in Figure 6d,e, and tracking errors are shown in Figure 6b,c. From the results of two simulation scenarios, it can be concluded that the mobile robot can track the trajectory before encountering obstacles in the environment. Once an obstacle is detected by the sensors attached to the mobile robot, the safe boundary and risk area of an obstacle are generated by the obstacle avoidance controller. When the robot moves into the region form by an activated distance, the obstacle avoidance controller is activated to determine the fastest obstacle avoidance direction to follow the obstacle boundary at a constant safe distance, and then after the completion of the obstacle avoidance, a transition between trajectory tracking and obstacle avoidance is triggered. From the results of two simulation scenarios, it can be concluded that the mobile robot can track the trajectory before encountering obstacles in the environment. Once an obstacle is detected by the sensors attached to the mobile robot, the safe boundary and risk area of an obstacle are generated by the obstacle avoidance controller. When the robot moves into the region form by an activated distance, the obstacle avoidance controller is activated to determine the fastest obstacle avoidance direction to follow the obstacle boundary at a constant safe distance, and then after the completion of the obstacle avoidance, a transition between trajectory tracking and obstacle avoidance is triggered. The mobile robot goes on to track, and the tracking errors gradually decrease to zero. This combination of two controllers can well address the problem of trajectory tracking in obstacle environments. Therefore, the proposed scheme can be applied to the mobile robot to track the trajectory while considering obstacles.

Conclusions
In this paper, a control scheme consisting of the trajectory tracking and obstacle avoidance controllers is proposed to address the trajectory tracking problem in unknown obstacle environments. The trajectory tracking controller is employed to track pre-planned trajectory based on its tracking error dynamics. To deal with the problem of the possible obstacles in the environment, a blending vector is introduced to control the mobile robot toward the fastest obstacle avoidance direction to follow the boundary of an obstacle at a constant distance to escape the obstacle. Finally, two controllers combined by a switch strategy are switched to calculate the control inputs to track the trajectory or avoid the obstacle.
The results obtained from simulations indicate that the proposed control scheme can effectively ensure the safe movement of the mobile robot. In brief, the proposed control scheme provides a new simple method with application values for solving the tracking problem in unknown obstacle environments. However, this article does not consider dynamic obstacles and external disturbances existing in the environment. For future work, we will focus on the extension of the proposed control scheme to dynamical environments filled with disturbances.
Author Contributions: J.L. supervised the work, reviewed and edited the paper. J.S. designed the control algorithms, analyzed the data, and wrote this paper. G.C. simulated the methodology. All authors have read and agreed to the published version of the manuscript.
Funding: This research received no external funding.