Keywords

1 Introduction

It has been a comprehensive investigation about mobile robotics nowadays as almost every university has at least one laboratory focusing on the research. Besides, many system such as in industrial application, army and security system have applied the mobile robot as an alternative solution for various conditions. Based on the Japanese Industrial Robot Association (JIRA) [1], robots is categorized into several classes explaining about its function and level of complexity. This has makes the research becomes fascinating and challenging since a number of decades.

Mobile robot navigation is an important field in the research since its functionality is greatly depends on its controllability and observability features. The mobile robot must work efficiently and intelligently to pursue its objectives. Engineers, researchers and technologist are consistently explores the potential of robots in helping and managing daily chores such as house cleaning, babysitting, tour lead, shopping attendant, and many other applications. Such systems further demands exact navigation and a suitable control system to function efficiently.

When a mobile robot is designed, there are three important questions that have to be answered i.e. location of the robot, the robot motions and its goal. However to achieve the desired movements in real world environments is not a straightforward problem. One of the major concerns in designing robotics system is the cost analysis which incurs investigation and analysis to assess various mobile robot designs. In fact, to construct, model and perform a simulation platform for mobile robot system has becomes an essential practise to gain the desired results. Most of the mobile robot modelling concentrates on the design of the control systems and algorithms. Earlier study on the navigation is basically based on the wall-following method and edge detection. The system performs only for specific conditions such as working in a maze environment where no dynamic features are available. Mechanical design is also one part not to be missed. Moreover, the mechanical design may also affect the whole mobile robot performance. Therefore it is also needed to be considered to optimize the proposed control system for the mobile robot. Regardless to the mechanical issues, this paper will only focusing on the control system for analysis purposes.

The potential field approach [2, 3] is one of the popular method in mobile robotics for path planning. There are various technique available for path planning as discussed by Latombe et al. [4] and the research has currently extended to the more modern approach such as the behavioural based methods namely the particle swarm optimization and genetic algorithm [5,6,7,8,9]. The potential field technique is suggested in this paper as it has less complexity and require less computational cost. These advantages can be reviewed from several papers which have been analyzed the performance in different cases [10,11,12,13,14,15]. Differs to those papers, this research analyze the behavior of mobile robot movements and performance considering the time consumed with different gains.

The proposed technique is basically emulates the reflex action of a living organism. An attractive and repulsive potential fields are considered for the analysis. A fictitious attractive potential field is considered to ensure that the mobile robot arrived at the goals while repulsive potential fields acts as distance to be avoided when the mobile robot encounters any obstacle [3]. This paper mainly discussed and analyzed the effect and relationship of having different mobile robot wheel base, different repulsive, ko and attractive force, kg to the mobile robot path planning. The simulation results describe that the higher the attractive force, the distance travelled will be shorter but can consumed higher time. On the other hand, if the repulsive smaller, then the distanced travelled by the mobile robot becomes shorter. This is expected as the mobile robot avoids the obstacle with minimum distance with minimum time consumption to arrive at the goal.

2 Mathematical Modelling of the Proposed System

This research starts with a study about mobile robot model using car like vehicle as shown in Fig. 1. It is a nonholonomic framework, so it can just turn with a limited turn span. In this work, the potential field determines how the mobile robot moves whenever it encounters any obstacle in its pathway. Hence the potential field must be designed appropriately to guarantee that the mobile robot moves efficiently. In the technique, a force will be created when the mobile robot moves in the environment. The information from the calculated force derives the mobile robot motions to pursue its target and at the same time avoiding any obstacles.

Fig. 1
figure 1

Car like robot model

Assume that the mobile robot makes a turn. This will make the car-like robot model moves in a circular path. These circular path or arc is concentrated in a point known as the Instantaneous Centre of Rotation (ICR). By using this information, the angular velocity can be determined by

$$\theta = v/R$$
(1)

where θ is the vehicle orientation with respect to the x-axis, and v is the forward speed of the robot (imposed by the real wheels). Note that R is the turning radius, which is defined by \({\text{R}} = {\text{L}}/\tan (\upphi)\) where L is the length of the vehicle or wheel base. The steering angle, \(\upphi\) is mechanically constrained and its maximum value influences the robot motions. Remark that this important feature is to be analyzed by considering the maximum angle that the steering wheel can turn.

The velocity of the mobile robot based on the steering angle is given as follow.

$$v = v_{T} \cos\upphi$$
(2)

where vT is the total velocity. Using above derived mathematical expression, the following equations presents the car-like robot kinematics.

$$x = v_{T} \cos\upphi\cos \theta$$
(3)
$$y = v_{T} \cos\upphi\sin \theta$$
(4)
$$\theta = v_{T} /L\sin\upphi$$
(5)

with (x, y) defines the mobile robot x–y position in cartesian coordinates, and vT defines the forward wheel velocity. In this model, the control input is the steering angle \(\upphi({\text{t}})\).

A simplified model of a vehicle is then given by

$$x = v\cos\theta$$
(6)
$$y = v\sin \theta$$
(7)

In this model, the control input is the heading angle θ(t).

3 Development of Artificial Potential Field

This paper considers an artificial potential field method for path planning. The potential is a scalar field whose negative gradient is a vector field of eternal forces vector. Consider a planar field that has some goals and some obstacles. A sample of calculated 2-D potential field is shown in Fig. 2. The targets are allocated with attractive potentials while the obstacles with repulsive potentials. The mobile robot will be attracted to the goal and at the same time avoids obstacles using the associated forces generated by the potentials.

Fig. 2
figure 2

A sample 2-D potential field

Note that, at any Cartesian coordinates (x, y) in the x–y plane, the total sum of forces at that specific point provides a net force produced by all the goals and all the obstacles. The net force is a function of place that defines the vector force field. It represents the resultant force gained by summing the effects of the attraction force of the target and the repulsion forces of the obstacles.

In potential field motion control, it is important to keep track of forces, their components, and their directions. For mobile ground robot applications, the potential fields are usually used in a 2-D space. Consider that \(\vec{r} = [{\text{x}}\,{\text{y}}]^{\text{T}} \in {\text{R}}^{2}\), then the force gradient are as follow

$$\vec{F}\left( {\vec{r}} \right) = \overrightarrow {{F_{target } }} \left( {\vec{r}} \right) + \mathop \sum \limits_{i = 1}^{n} \overrightarrow {{F_{{obs_{i} }} }} \left( {\vec{r}} \right) = - \nabla V\left( {\vec{r}} \right)$$
(8)

where \(\overrightarrow {{F_{target } }}\) and \(\overrightarrow {{F_{{obs_{i} }} }}\) describes the forces exist for the target and obstacles respectively. Consequently,

$$\nabla V\left( {\vec{r}} \right) = \left[ {\frac{\partial V}{\partial x} \frac{\partial V}{\partial y}} \right]^{\text{T}} = \left[ { F_{x} F_{y} } \right]^{\text{T}} \in R^{2}$$
(9)

while its associated x, y components are defined by

$$F_{x} \left( {x,y} \right) = - \frac{{\partial V\left( {x,y} \right)}}{\partial x}$$
(10)
$$F_{y} \left( {x,y} \right) = - \frac{{\partial V\left( {x,y} \right)}}{\partial y}$$
(11)

The direction of movement for a mobile robot is produced persistently for any position \((x,y)\) of the robot by following the course of the steepest drop in the potential field which simulates the bearing of movements. This can be considered as an optimization problem that searches for the point of minimum potential. Some of the generated sample potential fields and the forces will be simulated and will be referred for analysis purposes in later section.

Assume that the goal is at \((x_{1} ,y_{1} )\) and the current vehicle position is situated at \((x(t),y(t))\). A linear attractive potential is defined by

$$V(r) = k_{g} r$$
(12)

where the distance to the target is \(r = \left[ {(x - x_{1} )^{2} + (y - y_{2} )^{2} } \right]^{ - 1/2}\). kg acts as the system proportional gain. Then the gradient force for x, y components are generated as follows.

$$\begin{aligned} F_{x} & = - \frac{\partial V}{\partial x} = - k\frac{1}{2}\left[ {(x - x_{1} )^{2} + (y - y_{2} )^{2} } \right]^{{ - \frac{1}{2}}} 2(x - x_{1} ) \\ & = k\frac{{(x_{1} - x)}}{r} \\ \end{aligned}$$
(13)
$$\begin{aligned} F_{y} & = - \frac{\partial V}{\partial y} = - k\frac{1}{2}\left[ {(x - x_{1} )^{2} + (y - y_{2} )^{2} } \right]^{{ - \frac{1}{2}}} 2(y - y_{1} ) \\ & = k\frac{{(y_{1} - y)}}{r} \\ \end{aligned}$$
(14)

Above are the components of a unit vector. Remark that, the attractive force is constantly independent of the distance to the target. This means that the attractive effects of the target have an unbounded range of influence.

Suppose that a mobile robot needs to avoid an obstacle located at \(\left( {x_{1} ,y_{1} } \right)\) and the current vehicle position is \((x(t),y(t))\). The repulsive potential is measured by

$$V\left( r \right) = \frac{{k_{o} }}{r}$$
(15)

where the distance to the target is \(r = [(x - x_{1} )^{2} + (y - y_{2} )^{2} ]^{ - 1/2}\). ko acts as the gain to the system to ensure the mobile robot avoids efficiently any obstacle. Then the gradient force generated from these information yields

$$\begin{aligned} F_{x} & = - \frac{\partial V}{\partial x} \\ & = - \frac{{\partial r^{ - 1} }}{{\partial {\text{x}}}} \\ & = - k\left( { - r^{ - 2} } \right)\frac{1}{2}\left[ {(x - x_{1} )^{2} + (y - y_{2} )^{2} } \right]^{{ - \frac{1}{2}}} 2(x - x_{1} ) \\ & = - \frac{k}{{r^{2} }}\frac{{(x_{1} - x)}}{r} \\ \end{aligned}$$
(16)
$$\begin{aligned} F_{y} & = - \frac{\partial V}{\partial y} \\ & = - \frac{{\partial r^{ - 1} }}{{\partial {\text{y}}}} \\ & = - k\left( { - r^{ - 2} } \right)\frac{1}{2}\left[ {\left( {x - x_{1} } \right)^{2} + \left( {y - y_{2} } \right)^{2} } \right]^{{ - \frac{1}{2}}} 2\left( {y - y_{1} } \right) \\ & = - \frac{k}{{r^{2} }}\frac{{\left( {y_{1} - y} \right)}}{r} \\ \end{aligned}$$
(17)

The above determinations are similar to the electrostatic force or gravitational force. This also means that the repulsive effects of the obstacles have a limited range of influence.

Consider an environment that has size of square [0, 12] × [0, 12] in the \(\left( {x,y} \right)\) plane and has a goal or target at \(\left( {x_{G} ,y_{G} } \right) = \left( {10,10} \right)\) and two obstacles at \(\left( {x_{1} ,y_{1} } \right) = \left( {3,3} \right)\) and \(\left( {x_{2} ,y_{2} } \right) = \left( {7,2} \right)\) respectively. If those parameters are taken into account, then the resulting sample of potential fields can be shown in Fig. 3. The figure shows how the potential fields affects the mobile robot movements. As depicted, there are two positions demonstrates higher repulsive forces at the pre-defined obstacles. If ko is bigger, then the force to move the mobile robot to the goal will be changing rapidly i.e. produces a steep curves to the surface. The results will be shown in later sections demonstrating how the mobile robot moves when a given situations are described.

Fig. 3
figure 3

Sample of potential fields surface

4 Result and Discussion

This section presents the simulation outcomes which has been analyzed in MATLAB software. There are few examples with attracting controller and repulsing controller gathered in this analysis with regards to different cases.

4.1 Simulation Setup

To start the analysis, some parameters must be defined. The parameters for \(k_{g}\) and \(k_{o}\) are selected such that it provides the best results for the mobile robot movements. The attractive potential field for the target in (10, 10) is defined as

$$V_{G} = k_{g}{r}_{G}$$
(18)

where \({k}_{g}\) is a design gain and \({r}_{G}\) is the distance between the robot and the target:

$${r}_{G} = \left[ {\left( {{x} - {x}_{1} } \right)^{{\mathbf{2}}} + \left( {{y} - {y}_{2} } \right)^{2} } \right]^{{ - {{1}}/{{2}}}}$$
(19)

Two obstacles in (3, 3) and (9, 9) have a repulsive potential field satisfying the below equation.

$${V}_{o} = \frac{{{k}_{{o}} }}{{{r}_{{o}} }}$$
(20)

where \({k}_{{o}}\) and \({r}_{{o}}\) are the equivalents for the gain and the distance from the robot, respectively. The total potential field of the scene can be calculated by adding this three distinctive fields

$$({V} = {V}_{{G}} + {V}_{{{O}{{1}}}} + {V}_{{{O}{{2}}}} )$$
(21)

Then, the attractive force component from the goal are generated as

$${F}_{{{Gx}}} = - \frac{{{{\partial }}{V}_{{G}} }}{{{\mathbf{\partial }}{x}}} = {k}_{{g}} \frac{{\left( {{{10}} -{x}} \right)}}{{{r}_{{G}} }}$$
(22)
$${F}_{{{Gy}}} = - \frac{{{\mathbf{\partial }}{V}_{{G}} }}{{{\mathbf{\partial }}{y}}} = {k}_{{g}} \frac{{\left( {{{10}} - {y}} \right)}}{{{r}_{{G}} }}$$
(23)

whereas the repulsion force of the obstacle are computed as

$${F}_{{{Oix}}} = - \frac{{{\mathbf{\partial }}{V}_{{{Oi}}} }}{{{\mathbf{\partial }}{x}}} = {k}_{{O}} \frac{{\left( {{x}_{{{Oi}}} - {x}} \right)}}{{{r}_{{{Oi}}} }}$$
(24)
$${F}_{{{Oiy}}} = - \frac{{{\mathbf{\partial }}{V}_{{O}} }}{{{\mathbf{\partial }}{y}}} = {k}_{{O}} \frac{{\left( {{y}_{{{Oi}}} - {y}} \right)}}{{{r}_{{{Oi}}} }}$$
(25)

The total force components affecting the vehicle are \({F}_{{x}} = {F}_{{{Gx}}} + {F}_{{{O}{{1}}{x}}} + {F}_{{{O}{{2}}{x}}}\) and \({F}_{{y}} = {F}_{{{Gy}}} + {F}_{{{O}{{1}}{y}}} +{F}_{{{O}{{2}}{y}}}\). The desired heading angle can be computed as

$${\alpha}= {{tan}}^{{ - {{1}}}} \left( {\frac{{{F}_{{y}} }}{{{F}_{{x}} }}} \right)$$
(26)

A proportional controller \({K}_{{c}}\) is designed to make the robot arrived to target. Then the control input is

$${\mathbf{\emptyset }} = {K}_{{c}} \left( {{\alpha}-{\theta}} \right)$$
(27)

A block diagram for the mobile robot model and environments are shown as follows (Fig. 4).

Fig. 4
figure 4

The block diagram of the proposed system

For verification purposes, simulation is performed by considering first the following parameters; kg = 30, ko = 30, kc = 2, v = 1 and L = 2. As the velocity is not involved in the control law computation, some modification is made to ensure the vehicle stop when it is close enough to the goal. Initial conditions for the position and initial heading angle of the robot are all set to zero. The system response is shown in Fig. 5 which explains the mobile robot has arrived at its target.

Fig. 5
figure 5

Mobile robot movements with kg = 30, ko = 30, kc = 2, v = 1 and L = 2

Further analysis in 2-D environment are demonstrated that has 1 goal and 3 obstacles. The goal is located at coordinate (10, 10), while the obstacle at coordinate (4, 2), (9, 6), and (9, 9) respectively.

4.2 Robot Movements with Adjusted Control Gain of Goal, kg

This control gain aiming to investigate elapsed time which that begin process until end process a robot from initial pose to goal. This simulation takes fix value of velocity (v = 10) and control gain of obstacle (ko = 10). The black line refer to trajectory of the robot to the goal without any existence of obstacle, while the other colour line refer to trajectory of the robot to the goal with obstacle.

Figures 6, 7, 8, 9 and Table 1 shows the effects of having the control gain of goal from 5 until 30 and effects of various wheel base sizes from 10 until 25. The time consumed for the mobile robot to moves at its initial position until its goal are recorded to analyze any differences. It was found that the time consumption has almost a proportional relationship with kg. Besides this from Figs. 6, 7, 8 and 9, the distance of the mobile robot to the goal becomes shorter when it has lower kg as a result of having bigger wheel base. Thus designer must select the right wheel base to achieve an efficient path planning. For reference, Table 2 describes the trajectory without obstacle force which denotes slightly higher time consumption compared to the case of having obstacle force. This is due to the total force calculated through Eqs. (16)–(17) produces smaller forces compared when there are obstacles to the system.

Fig. 6
figure 6

Wheel base, L = 10

Fig. 7
figure 7

Wheel base, L = 15

Fig. 8
figure 8

Wheel base, L = 20

Fig. 9
figure 9

Wheel base, L = 25

Table 1 Time consumption on different kg (with obstacle)
Table 2 Time consumption on different kg (no obstacle)

In Figs. 6 and 7, it can be observed that the mobile robot did not moves efficiently even though has arrived at its goal. This is happened because of the mobile robot velocity moves relatively fast that it should be. This also requires velocity to be considered as part of control system in path planning technique. If the velocity is reduced to 0.8, the result has a promised outcome as demonstrated in Figs. 10 and 11.

Fig. 10
figure 10

Wheel base, L = 10, velocity, v = 0.8

Fig. 11
figure 11

Wheel base, L = 10

4.3 Robot Movements with Adjusted Control Gain of Obstacle, ko

This section analyzes the effect of having different ko to the system. This simulation is taking fix value of velocity (v = 10) and control gain of obstacle (kg = 10). The black line refer to trajectory of the robot to the goal without obstacle while the other colour line refer to trajectory of the robot to the goal with obstacle.

Figures 12, 13, 14 and Table 3 shows the mobile robot trajectory with goal force from 10 until 50 and fixed obstacle force with respect to the increase of wheel base from 10 until 25. Table 4 on the other hand defines the trajectory without obstacle force. Based on Tables 3 and 4, it is seems that ko have relationship with the distance i.e. smaller ko produces shorter distance for mobile robot to arrive at the goal. As a result, the time consumed is decreasing whenever smaller is ko selected. Looking on the wheel base size, the bigger the size, the longer time mobile robot needs to achieve its goal.

Fig. 12
figure 12

Wheel base, L = 15

Fig. 13
figure 13

Wheel base, L = 20

Fig. 14
figure 14

Wheel base, L = 25

Table 3 Time consumption on different ko (with obstacle)
Table 4 Time consumption on different ko (with obstacle)

Some problem can be viewed from Fig. 11 for the mobile robot path due to inappropriate selection of repulsive and attractive forces. So, to minimize the error, the velocity must be reduced to 0.63 to produce better result demonstrated in Fig. 15. If more errors occurred during the movement, then the mobile robot cannot arrive accurately at the final positions. As there are a lot of noises that affects the performance of mobile robot which includes the tire slippage, the motors conditions, sensors and power source, the mobile robot must be well-configured to reduce the noise consequences.

Fig. 15
figure 15

Wheel base, L = 10, velocity = 0.63

5 Conclusion

In this paper, a possible mathematical model of a Ackermann steering four-wheeled car-like mobile robot have been studied. A mobile robot kinematic model has been successfully been simulated via MATLAB to demonstrate a path planning. A potential field method is proposed for the path planning of autonomous mobile robots by using repulsive and attractive forces. The potential functions defines the relative positions and velocities of the robot with respect to the goal and the obstacles into account. The virtual force exhibits its effect to keep the robot to follow the goal with the similar moving trend and avoid obstacles with contrary moving trends. By choosing the suitable parameters for the potential function, the reasonable planning path can be produced successfully. Finally, some methodic simulations are completed to confirm and show the performance of the potential field method for mobile robot path planning.