# Robot Path Planning with Avoiding Obstacles in Known Environment Using Free Segments and Turning Points Algorithm

Authors: Imen Hassani; Imen Maalej; Chokri Rekik
Journal: Mathematical Problems in Engineering
 (2018)

---

## Abstract

Currently, the path planning problem is one of the most researched topics in autonomous robotics. That is why finding a safe path in a cluttered environment for a mobile robot is an important requirement for the success of any such mobile robot project. In this work, a developed algorithm based on free segments and a turning point strategy for solving the problem of robot path planning in a static environment is presented. The aim of the turning point approach is to search a safe path for the mobile robot, to make the robot moving from a starting position to a destination position without hitting obstacles. This proposed algorithm handles two different objectives which are the path safety and the path length. In addition, a robust control law which is called sliding mode control is proposed to control the stabilization of an autonomous mobile robot to track a desired trajectory. Finally, simulation results show that the developed approach is a good alternative to obtain the adequate path and demonstrate the efficiency of the proposed control law for robust tracking of the mobile robot.


---

## Body

## 1. Introduction

Nowadays, robots are considered as an important element in society. This is due to the replacement of humans by robots in basic and dangerous activities. However, designing an efficient navigation strategy for mobile robots and ensuring their securities are the most important issues in autonomous robotics.Therefore, the path planning problem is one of the most interesting and researched topics. The aim of the robot path planning is to search a safe path for the mobile robot. Also the path is required to be optimal. In this sense, several research works tackling the path planning problem have been proposed in the literature [1–4]. Until now, many methods have been used for path planning of mobile robots. Among these strategies, the geometry space method such as Artificial Potential Field [5, 6], Agoraphobic Algorithm [7], and Vector Field Histogram [8, 9]. These methods give the heading angle for avoiding obstacles. The strategy of dynamic windows has been used in [10, 11]. This approach is a velocity-based local planner that calculates the optimal collision-free velocity for a mobile robot. Another method used in [12] is named turning point searching algorithm which consists of finding a point around which the mobile robot turns without hitting obstacles.In the other side, several research works for tracking control of a wheeled mobile robot have gained attention in the literature [13–16]. The nonholonomic system suffers of nonlinearity and uncertainty problem. Because of this uncertainty, the trajectory error for a wheeled mobile robot has always been produced and can not be eliminated. In this sense, many tracking methods are proposed in the literature as Proportional Integral Derive (PID) controller [17] but this controller becomes instable when it is affected by the sensor sensitivity [18]. Furthermore, a fuzzy logic controller is used in [19] but this control law has a slow response time due to the heavy computation [20]. Other works used sliding mode controller in various applications [15, 16]. The aim advantage of this control system is its insurance for stability, robustness, fast response, and good transient [21].The aim of the developed strategy is to solve the problem when the robot is located between two obstacles such as the following: how the robot can detect that the distance between the two obstacles is safe enough to reach the target without collision and how to avoid obstacles and move between two obstacles in the shortest path. That is why this work is based on selecting safe free segments in an environment encumbered by obstacles firstly. After that, a developed turning point searching algorithm is applied to determinate the endpoint of the safe free segment which gives the shortest path. This strategy is inspired from the approach given by Jinpyo and Kyihwan [12]. In fact, the strategy presented in [12] handles two fundamental objectives: the path length and the path safety. This approach is focused firstly on searching the endpoint of a free segment which gives the shortest path. Hence, if the distance of the free segment selected is larger than the robot diameter, the endpoint is considered as a turning point. If this is not the case, it must replay the algorithm to search a new endpoint of the free segments. The disadvantages of this strategy are that it is focused firstly on finding the shortest path without taking into consideration the safety and, after that, it is focused on ensuring a safe path navigation which leads to an extensive and heavy computation and needs more time for planning the adequate path for a mobile robot. In order to overcome these disadvantages, our developed algorithm serves to ensure at first the path safety by selecting the safest free segments. Then, it searches the path length by determining the endpoint of the safest free segments which gives the shortest path. Using this strategy, we can rapidly determine the safest and the shortest path. Moreover, once the path is planned, a tracking law based on sliding mode controller is used for the robot to follow the designed trajectory.Our contribution is to develop a new algorithm for solving the problem of robot path planning with static obstacles avoidances. This planning, also called static path plan, presents the advantage of ensuring safety and shortness of the path. Moreover, the proposed algorithm is characterized by a reactive behavior to find a collision-free trajectory and smooth path. On the other side, the mobile robot should track the trajectory without collision with obstacles. So, a sliding mode control is proposed for guaranteeing robustness, stability, and reactivity.The rest of this paper is organized as follows. Section2 presents the mobile robot model used in this work. The different steps of the proposed algorithm for path planning purpose are described in detail in Section 3. In Section 4, a sliding mode controller is used for trajectory tracking. Finally, simulation results and conclusion are presented and analyzed in Sections 5 and 6, respectively.


## 2. Mobile Robot Model

Several research works for autonomous navigation have been applied to different types of mobile robots [22, 23]. In this work, we consider the Khepera IV mobile robot which has two independent driving wheels that are responsible for orienting and commanding the platform by acting on the speed of each wheel. Thus, the schematic model of the wheeled mobile robot Khepera IV is shown in Figure 1.Figure 1
Schematic representation of Khepera IV.The kinematic model of a nonholonomic mobile robot is given as follows:(1)dxdt=VR+VL2cos⁡αdydt=VR+VL2sin⁡αdαdt=VR-VLLwhere (x, y) are the robot’s Cartesian coordinates, α is the angle between the robot direction and X axis, VR and VL are, respectively, the robot right and left wheel velocities, and L is the distance between the two wheels.


## 3. Path Planning Algorithm

In order to solve the path planning problem, an algorithm based on finding the turning point of a free segment is proposed.


### 3.1. Principle of the Proposed Algorithm

A free segment is considered as the distance between two endpoints of two different obstacles (see Figure2). It searches the endpoint of a safe segment where the mobile robot turns around this point without hitting obstacles.Figure 2
Framework of navigation.When there are no obstacles, the path planning problem does not arise. In fact, the robot moves from an initial positionpi to a goal position pg in a straight line which will be considered as the shortest path. However, when the mobile robot encounters with n obstacles as shown in Figure 2  (n=3), the robot should be turning without collision with obstacles. So, the major problem is how to determinate a suitable path from a starting point to a target point in a static environment. To solve this problem our developed algorithm is proposed to search for a turning point of a safe free segment which gives the shortest path and allows the robot to avoid obstacles. Once the turning point is located, a dangerous circle with radius Rd is fixed in this point. In this case, our proposed strategy aims to search for the turning point Ptp of the safe free segment around which the robot turns safely. For ensuring safety, we select the segment whose distance SPi (i=1,…,n-1) is larger than the robot diameter Dr with a margin for security δ (SPi≥Dr+δ). On the other hand, the segment whose distance SPi is smaller than the robot diameter is considered as a danger segment (see Figure 2). In this work, we take into account only safe segments and danger segments are ignored. Furthermore, and to determinate the shortest path, we have determined the point Ptp of the safest segment which gives the shortest path. Then a dangerous circle is fixed at this point and the robot turns and moves towards the tangential direction to this circle. Even when there is a danger problem, our proposed algorithm will be reactive to allow the robot to avoid obstacles and reach the goal. In this case, the robot reserves the determined turning point and searches for a new turning point to avoid collision with obstacles. To more clarify our strategy, the different notions of the algorithm are incorporated in Figure 2 and the basic principle is summarized in a flowchart presented in Figure 3.Figure 3
The proposed algorithm.


### 3.2. Static Path Planning Steps

The aim of this section is to find a safe path as short as possible. In this approach, it is defined as the path having the tangential direction to the circle located on the searched turning point.


#### 3.2.1. Selection of the Safe Path

The safe path aims to find a free path that helps the robot to reach the target without hitting obstacles of the environment. The selection of a safe segment needs to follow the next steps:(i)
Step 1: Find out all free segments of the environment (see Figure4). Equations (2) and (3) show how to determinate the value of the distance SP1 that connects points p2 and p3 and the distance SP2 that connects points p4 and p5:(2)SP1=xp3-xp22+yp3-yp22(3)SP2=xp5-xp42+yp5-yp42where (xpi, ypi) (i=2..5) corresponds to the coordinate of endpoints of free segments.(ii)
Step 2: The segment whose distanceSPi (i=1,…,n-1) is larger than Dr is considered as a safe segment. However, the segment whose distance SPi is smaller than Dr is considered as a danger segment. Only safe segments are taken into consideration for the rest of this work. Danger segments whose number is nd are ignored. In this step, we define the number of safe segments as(4)ns=n-1ifSPi≥Dr+δn-1-ndelsewhere.Once the safety criteria are handled, in the next section we are interested to determinate the shortest path.Figure 4
Determination of free segments (safe-danger).


#### 3.2.2. Determination of the Shortest Path

When the robot goes to reach the target position, it is important to do it in the shortest path as possible. The objective of determining the shortest path can be divided into three steps:(i)
Step 1: Calculate distancesSD1 and SD2 between the robot and the target with consideration of the safe free segment (see Figure 5). These distances should be calculated as follows:(5)SD1=xp2-x2+yp2-y2+xt-xp22+yt-yp22(6)SD2=xp3-x2+yp3-y2+xt-xp32+yt-yp32(ii)
Step 2: It concerns the determination of the turning point which is defined as the point around which the mobile robot turns for avoiding obstacles; the process is achieved after comparing the distancesSD1 and SD2. The endpoint of the safe free segment which gives the shortest path corresponds to the searched turning point Ptp as shown in Figure 5.(iii)
Step 3: It concerns the placement of the dangerous circle. Once the turning point is determined, a dangerous circle with radiusRD is fixed at this point as shown in Figure 6.Figure 5
Determination of the shortest path.Figure 6
Dangerous circle placement.


### 3.3. Problems Examination

Even the adequate path is determined, some problems can persist whose results make the robot damaged and can not avoid obstacles. Some problem cases are highlighted in this work.


#### 3.3.1. Collision Danger Problem

Path planning problem means that the path should be safe enough to go through without collision. However, a collision danger problem can persist in some cases:(i)
Case 1: If there is an intersection between the robot and the obstacle. To better concretize the problem, Figure7 is given: path 1 presents an example of a mobile robot where it is entrapped by the obstacle and it can not avoid it. To remove the collision between the robot path and obstacle, path 2 is presented and turned around a second dangerous circle with radius RD. So, we can conclude that path 2 is safe enough for the robot to go to the destination point without collision.(ii)
Case 2: If the distance between the line tangent of the dangerous circle and the endpoint of an obstacled (see Figure 8) is less than the robot radius (d≤Rr), a turning point algorithm is applied and a dangerous circle is centered at the adequate turning point (see Figure 9).Figure 7
Collision danger problem-case 1.Figure 8
Collision danger problem-case 2.Figure 9
Placement of the turning point.


#### 3.3.2. Problem of Local Minima

A local minima problem can exist when all segments are danger or the robot is entrapped with obstacles. To escape from such a situation, the robot goes far away from those obstacles until reaching the target (see Figure10).Figure 10
Local minima problem resolution.


## 3.1. Principle of the Proposed Algorithm

A free segment is considered as the distance between two endpoints of two different obstacles (see Figure2). It searches the endpoint of a safe segment where the mobile robot turns around this point without hitting obstacles.Figure 2
Framework of navigation.When there are no obstacles, the path planning problem does not arise. In fact, the robot moves from an initial positionpi to a goal position pg in a straight line which will be considered as the shortest path. However, when the mobile robot encounters with n obstacles as shown in Figure 2  (n=3), the robot should be turning without collision with obstacles. So, the major problem is how to determinate a suitable path from a starting point to a target point in a static environment. To solve this problem our developed algorithm is proposed to search for a turning point of a safe free segment which gives the shortest path and allows the robot to avoid obstacles. Once the turning point is located, a dangerous circle with radius Rd is fixed in this point. In this case, our proposed strategy aims to search for the turning point Ptp of the safe free segment around which the robot turns safely. For ensuring safety, we select the segment whose distance SPi (i=1,…,n-1) is larger than the robot diameter Dr with a margin for security δ (SPi≥Dr+δ). On the other hand, the segment whose distance SPi is smaller than the robot diameter is considered as a danger segment (see Figure 2). In this work, we take into account only safe segments and danger segments are ignored. Furthermore, and to determinate the shortest path, we have determined the point Ptp of the safest segment which gives the shortest path. Then a dangerous circle is fixed at this point and the robot turns and moves towards the tangential direction to this circle. Even when there is a danger problem, our proposed algorithm will be reactive to allow the robot to avoid obstacles and reach the goal. In this case, the robot reserves the determined turning point and searches for a new turning point to avoid collision with obstacles. To more clarify our strategy, the different notions of the algorithm are incorporated in Figure 2 and the basic principle is summarized in a flowchart presented in Figure 3.Figure 3
The proposed algorithm.


## 3.2. Static Path Planning Steps

The aim of this section is to find a safe path as short as possible. In this approach, it is defined as the path having the tangential direction to the circle located on the searched turning point.


### 3.2.1. Selection of the Safe Path

The safe path aims to find a free path that helps the robot to reach the target without hitting obstacles of the environment. The selection of a safe segment needs to follow the next steps:(i)
Step 1: Find out all free segments of the environment (see Figure4). Equations (2) and (3) show how to determinate the value of the distance SP1 that connects points p2 and p3 and the distance SP2 that connects points p4 and p5:(2)SP1=xp3-xp22+yp3-yp22(3)SP2=xp5-xp42+yp5-yp42where (xpi, ypi) (i=2..5) corresponds to the coordinate of endpoints of free segments.(ii)
Step 2: The segment whose distanceSPi (i=1,…,n-1) is larger than Dr is considered as a safe segment. However, the segment whose distance SPi is smaller than Dr is considered as a danger segment. Only safe segments are taken into consideration for the rest of this work. Danger segments whose number is nd are ignored. In this step, we define the number of safe segments as(4)ns=n-1ifSPi≥Dr+δn-1-ndelsewhere.Once the safety criteria are handled, in the next section we are interested to determinate the shortest path.Figure 4
Determination of free segments (safe-danger).


### 3.2.2. Determination of the Shortest Path

When the robot goes to reach the target position, it is important to do it in the shortest path as possible. The objective of determining the shortest path can be divided into three steps:(i)
Step 1: Calculate distancesSD1 and SD2 between the robot and the target with consideration of the safe free segment (see Figure 5). These distances should be calculated as follows:(5)SD1=xp2-x2+yp2-y2+xt-xp22+yt-yp22(6)SD2=xp3-x2+yp3-y2+xt-xp32+yt-yp32(ii)
Step 2: It concerns the determination of the turning point which is defined as the point around which the mobile robot turns for avoiding obstacles; the process is achieved after comparing the distancesSD1 and SD2. The endpoint of the safe free segment which gives the shortest path corresponds to the searched turning point Ptp as shown in Figure 5.(iii)
Step 3: It concerns the placement of the dangerous circle. Once the turning point is determined, a dangerous circle with radiusRD is fixed at this point as shown in Figure 6.Figure 5
Determination of the shortest path.Figure 6
Dangerous circle placement.


## 3.2.1. Selection of the Safe Path

The safe path aims to find a free path that helps the robot to reach the target without hitting obstacles of the environment. The selection of a safe segment needs to follow the next steps:(i)
Step 1: Find out all free segments of the environment (see Figure4). Equations (2) and (3) show how to determinate the value of the distance SP1 that connects points p2 and p3 and the distance SP2 that connects points p4 and p5:(2)SP1=xp3-xp22+yp3-yp22(3)SP2=xp5-xp42+yp5-yp42where (xpi, ypi) (i=2..5) corresponds to the coordinate of endpoints of free segments.(ii)
Step 2: The segment whose distanceSPi (i=1,…,n-1) is larger than Dr is considered as a safe segment. However, the segment whose distance SPi is smaller than Dr is considered as a danger segment. Only safe segments are taken into consideration for the rest of this work. Danger segments whose number is nd are ignored. In this step, we define the number of safe segments as(4)ns=n-1ifSPi≥Dr+δn-1-ndelsewhere.Once the safety criteria are handled, in the next section we are interested to determinate the shortest path.Figure 4
Determination of free segments (safe-danger).


## 3.2.2. Determination of the Shortest Path

When the robot goes to reach the target position, it is important to do it in the shortest path as possible. The objective of determining the shortest path can be divided into three steps:(i)
Step 1: Calculate distancesSD1 and SD2 between the robot and the target with consideration of the safe free segment (see Figure 5). These distances should be calculated as follows:(5)SD1=xp2-x2+yp2-y2+xt-xp22+yt-yp22(6)SD2=xp3-x2+yp3-y2+xt-xp32+yt-yp32(ii)
Step 2: It concerns the determination of the turning point which is defined as the point around which the mobile robot turns for avoiding obstacles; the process is achieved after comparing the distancesSD1 and SD2. The endpoint of the safe free segment which gives the shortest path corresponds to the searched turning point Ptp as shown in Figure 5.(iii)
Step 3: It concerns the placement of the dangerous circle. Once the turning point is determined, a dangerous circle with radiusRD is fixed at this point as shown in Figure 6.Figure 5
Determination of the shortest path.Figure 6
Dangerous circle placement.


## 3.3. Problems Examination

Even the adequate path is determined, some problems can persist whose results make the robot damaged and can not avoid obstacles. Some problem cases are highlighted in this work.


### 3.3.1. Collision Danger Problem

Path planning problem means that the path should be safe enough to go through without collision. However, a collision danger problem can persist in some cases:(i)
Case 1: If there is an intersection between the robot and the obstacle. To better concretize the problem, Figure7 is given: path 1 presents an example of a mobile robot where it is entrapped by the obstacle and it can not avoid it. To remove the collision between the robot path and obstacle, path 2 is presented and turned around a second dangerous circle with radius RD. So, we can conclude that path 2 is safe enough for the robot to go to the destination point without collision.(ii)
Case 2: If the distance between the line tangent of the dangerous circle and the endpoint of an obstacled (see Figure 8) is less than the robot radius (d≤Rr), a turning point algorithm is applied and a dangerous circle is centered at the adequate turning point (see Figure 9).Figure 7
Collision danger problem-case 1.Figure 8
Collision danger problem-case 2.Figure 9
Placement of the turning point.


### 3.3.2. Problem of Local Minima

A local minima problem can exist when all segments are danger or the robot is entrapped with obstacles. To escape from such a situation, the robot goes far away from those obstacles until reaching the target (see Figure10).Figure 10
Local minima problem resolution.


## 3.3.1. Collision Danger Problem

Path planning problem means that the path should be safe enough to go through without collision. However, a collision danger problem can persist in some cases:(i)
Case 1: If there is an intersection between the robot and the obstacle. To better concretize the problem, Figure7 is given: path 1 presents an example of a mobile robot where it is entrapped by the obstacle and it can not avoid it. To remove the collision between the robot path and obstacle, path 2 is presented and turned around a second dangerous circle with radius RD. So, we can conclude that path 2 is safe enough for the robot to go to the destination point without collision.(ii)
Case 2: If the distance between the line tangent of the dangerous circle and the endpoint of an obstacled (see Figure 8) is less than the robot radius (d≤Rr), a turning point algorithm is applied and a dangerous circle is centered at the adequate turning point (see Figure 9).Figure 7
Collision danger problem-case 1.Figure 8
Collision danger problem-case 2.Figure 9
Placement of the turning point.


## 3.3.2. Problem of Local Minima

A local minima problem can exist when all segments are danger or the robot is entrapped with obstacles. To escape from such a situation, the robot goes far away from those obstacles until reaching the target (see Figure10).Figure 10
Local minima problem resolution.


## 4. Sliding Mode Control

After planning the path of the robot Khepera IV, a sliding mode controller is proposed for robust tracking trajectory ([15, 16]). In this strategy, two positions are needed to be known as shown in Figure 11: the desired position pr=(xr,yr,αr) which is defined as the desired position to be reached and the current robot position p=(x,y,α) which is defined as its real position at this moment. Furthermore, the difference between the reference position pr and the current position p is called the tracking error position pe=(xe, ye, αe). The expression of pe is defined in equation (7) as follows:(7)pe=xeyeαe=cos⁡αsin⁡α0-sin⁡αcos⁡α0001xr-xyr-xαr-α.Figure 11
Tracking error.Tracking trajectory can be introduced as finding the adequate control vectorq=(v,w)T (v is the linear velocity of the wheeled mobile robot and w is its angular velocity). So that the error position pe converges asymptotically to zero. The autonomous mobile robot is controlled according to (8)VR=v+L.w2VL=v-L.w2.The process of designing a sliding mode controller is divided into two steps:(i)
Step 1: The choice of the sliding surface:s is defined as the switching function because the control switches its sign on the sides of the switching s=0. Therefore, xe=0 is chosen at the first switching function. When xe=0, the Lyapunov candidate function is defined as V=1/2ye2. Then, we determinate the time derivative of V:(9)V˙=yey˙e=ye-xew+vrsin⁡αe=-xeyew-vryesin⁡arctan⁡vrye.We notice thatV˙≤0 because vryesin(arctan(vrye))≥0. We define αe=-arctan(vrye) as a switching candidate function. Then, the expression of the vector of sliding surfaces is given as follows:(10)s=s1s2=xeαe+arctanvrye.(ii)
Step 2: The determination of the control law: the designing of a sliding mode controller needs firstly to establish an analytic expression of the adequate condition under which the state moves towards and reaches a sliding mode. However, a chattering phenomenon can be caused by the finite time delays for computations and limitations of control. That is why the switching function is defined as a saturation function. The control law is defined then as(11)s˙=-ksats.It is noted that the reaching control system is not only able to establish the reaching condition but also able to specify the dynamic of the switching function. By differentiating the vector of the sliding surfaces defined in equation (10), we obtain(12)s˙=s1˙s2˙=-k1sats1-k2sats2=xe˙αe˙+∂γvrvr˙+∂γyeye˙=yew+vrcos⁡αe-vwr+∂γ∂vrvr˙+∂γ∂yevrsin⁡αe-xew-wwhere(13)∂γdvr=ye1+vrye2and∂γdye=vr1+vrye2.


## 5. Simulation Results

In mobile robot navigation, the building of the environment is considered an essential issue to carry out motion planning operations. In this section, to demonstrate the basic ability of the proposed algorithm, we present some simulation results. In all simulations, we will present results of an environment including seven obstacles which are placed with an arbitrary way (see Figure12). Table 1 presents the initial center coordinates of static obstacles.Table 1
Center coordinates of obstacles.
Obstacles x O b s y O b s  Obstacle 1 550 100  Obstacle 2 640 400  Obstacle 3 640 600  Obstacle 4 400 500  Obstacle 5 70 680  Obstacle 6 100 400  Obstacle 7 150 130Figure 12
Environment mapping.The simulations are performed for the cases where the target coordinate (xt, yt) is fixed while the robot position changed.In this section, we present the case when the robot starts from the initial positions (xr, yr)=(0, 0) and (xr, yr)=(400, 0) as shown in Figures 13(a) and 13(b), where all free segments are safe. We notice that the robot turns around circles which are located in the adequate turning points and reaches the target for each modification of the robot position.Figure 13
Path planning ((xt, yt)=(250, 750)).
(a)
Navigation with safe segments ((xr, yr)=(0, 0)). (b)
Navigation with safe segments ((xr, yr)=(400, 0)). (c)
Navigation with safe and danger segments ((xr, yr)=(0, 0)). (d)
Navigation with safe and danger segments ((xr, yr)=(400, 0)).Even the obstacle centers changed their positions as shown in Table2, and the path navigation changes are shown in Figures 13(c) and 13(d) because of the appearance of danger segments.Table 2
Center coordinates of obstacles ((xt, yt)=(250, 750)).
Obstacles x O b s y O b s  Obstacle 1 550 100  Obstacle 2 640 400  Obstacle 3 640 600  Obstacle 4 400 500  Obstacle 5 200 550  Obstacle 6 150 420  Obstacle 7 150 300Figure16 illustrates the navigation of the mobile robot with safe segments and danger segments. That robot starts from different initial positions (xr, yr)=(0, 0) (see Figures 14(a) and 14(c)) and (xr, yr)=(400, 0) (see Figures 14(b) and 14(d)). The obstacle center coordinates are addressed in Table 3.Table 3
Center coordinates of obstacles ((xt, yt)=(500, 750)).
Obstacles xObs yObs  Obstacle 1 550 100  Obstacle 2 640 400  Obstacle 3 640 600  Obstacle 4 400 500  Obstacle 5 240 550  Obstacle 6 100 420  Obstacle 7 150 250Figure 14
Path planning ((xt, yt)=(500, 750)).
(a)
Navigation with safe segments ((xr, yr)=(0, 0)). (b)
Navigation with safe segments ((xr, yr)=(400, 0)). (c)
Navigation with safe and danger segments ((xr, yr)=(0, 0)). (d)
Navigation with safe and danger segments ((xr, yr)=(400, 0)).Another simulation results present the case where all free segments are safe (see Figures15(a) and 15(b)). The robot turns around the dangerous circles until reaching the desired target. By changing obstacle centers as shown in Table 4, we remark the appearance of dangerous segments. The robot takes into account just the free segments and moves in the safe path (see Figures 15(c) and 15(d)).Table 4
Center coordinates of obstacles ((xt, yt)=(750, 750)).
Obstacles xObs yObs  Obstacle 1 550 230  Obstacle 2 630 450  Obstacle 3 540 500  Obstacle 4 400 500  Obstacle 5 70 680  Obstacle 6 160 400  Obstacle 7 150 130Figure 15
Path planning ((xt, yt)=(750, 750)).
(a)
Navigation in case safe segments ((xr, yr)=(0, 0)). (b)
Navigation in case safe segments ((xr, yr)=(400, 0)). (c)
Navigation in case safe and danger segments ((xr, yr)=(0, 0)). (d)
Navigation in case safe and danger segments ((xr, yr)=(400, 0)).Figure 16
Path planning ((xt, yt)=(800, 500)).
(a)
Navigation with safe segments ((xr, yr)=(0, 0)). (b)
Navigation with safe segments ((xr, yr)=(400, 0)). (c)
Navigation with danger segments ((xr, yr)=(0, 0)). (d)
Navigation with danger segments ((xr, yr)=(400, 0)).Figures16(a) and 16(b) show that the mobile robot ensures reaching the destination with avoiding different obstacles. Table 5 shows the center obstacle positions. In this case, we constate that there is a local minima problem. Therefore, the robot goes far away from obstacles and moves directly to the target (see Figures 16(c) and 16(d)).Table 5
Center coordinates of obstacles ((xt, yt)=(800, 500)).
Obstacles xObs yObs  Obstacle 1 550 240  Obstacle 2 550 400  Obstacle 3 540 510  Obstacle 4 400 510  Obstacle 5 200 560  Obstacle 6 150 430  Obstacle 7 150 260From all simulation results, it is obvious to see that the developed strategy is very reactive because the robot achieves the obstacle avoidance in each modification of the robot and the target positions and in presence of safe and danger segments.After planning the safest and the shortest path, it is required for the mobile robot to track reference trajectories based on sliding mode controller. Figure17 shows that the mobile robot always follows the reference trajectory.Figure 17
Tracking planned path.
(a)
Tracking planned path of Figure15(a). (b)
Tracking planned path of Figure16(b).To more illustrate the performance of the sliding mode controller, the error positions, and the two speeds (right and left) of the wheels for the cases. Figures15(a) and 16(b) were presented in Figures 18 and 19. Figure 18 shows that the tracking errors tend to zero which allows concluding that the proposed control law system provides a good tracking trajectory.Figure 18
Tracking Errors (xe, ye, αe).
(a)
Case of Figure15(a). (b)
Case of Figure16(b).Figure 19
Evolution of the two speeds (right and left).
(a)
Case of Figure15(a). (b)
Case of Figure16(b).In addition to this, Figure19 presents the evolution of two speeds (right and left) of the wheels. For example, for Figure 19(b), initially the mobile robot advances with the same speeds for both wheels. As soon as obstacle 1 is detected, the control system provides a larger right wheel speed compared to the left wheel speed. After passing obstacle 1, the two speeds are equal until the robot reaches the target. As soon as obstacle 2 is detected, the controller system provides a larger right wheel speed than the left wheel speed. After passing obstacle 2, we notice that the speed of the left wheel is larger than the right wheel. This is to turn the mobile robot to the target position. Once the robot is oriented towards the target, the two speeds are equal until the robot reaches the target.


## 6. Conclusion

In this paper, an algorithm which searches for a turning point based on free segments is presented. It handles two different objectives: the safe path and the path length. The advantage of the developed algorithm is that the robot always can move from the initial position to the target position, not only safely, but also on the shortest path regardless the shape of the obstacles and the change of goal position in the known environment. In the other side, the proposed sliding mode control is an important method to deal with the system. This controller demonstrates a good tracking performances such as robustness, stability and fast response. Simulation results are performed on a platform Khepera IV to demonstrate that the proposed method is a good alternative to solve the path planning and trajectory tracking problems.As a future work, it could be interesting to determinate paths in dynamic environment.



---

*Source: 2163278-2018-06-11.xml*