Keywords

1 Introduction

Nowadays, mobile robots are widely used in various fields of engineering such as aerospace research, nuclear research, military operations, production industry. Navigation of mobile robot is one of the elementary problems in robotic research field. In general, navigation is classified as global and local depending upon the surrounding environment. In global navigation, the surrounding environment is completely known to the mobile robot, whereas in local navigation the environment is completely unknown to the mobile robot. So, in local navigation, various sensors are used to detect the obstacles present in the environment.

In the literature survey, several researchers have been working on many intelligent techniques for mobile robot navigation. Among these techniques, ANFIS is a hybrid model, which combines the adaptability capability of neural network and knowledge representation of fuzzy system [1]. There are many fuzzy logic approaches using various implementation or in combination with other techniques [25]. A summary of new recently developed techniques in local navigation is given in [6]. Mobile robot navigation based on artificial neural network approaches was presented by many researchers [79]. Navigation of multiple mobile robots using neuro-fuzzy technique was addressed by Pradhan et al. [10]. In this design architecture, output from the neural network was given as input to the fuzzy controller to navigate the mobile robot successfully in the clutter environment. Experimental verifications also have been done with the simulation results to prove the authenticity of the developed technique. Navigation of mobile robots using adaptive neural-fuzzy system was discussed by Nefti et al. [11]. In this model, different sensor-based information given by the Sugeno–Takagi fuzzy controller and output from the controller are the robot orientation. Experimental results settle the importance of the methodology when dealing with navigation of a mobile robot in unknown or partially unknown environment. To determine the collision-free path of mobile robot navigating in a dynamic environment using Neuro-fuzzy technique was presented by Hui et al. [12]. The performances of neuro-fuzzy approaches are compared with other approaches (GA, Mamdani), and it is found that neuro-fuzzy techniques are found to perform better than the other approaches. Control of mobile robot based on neuro-fuzzy technique was discussed by Godjevac and Steele [13]. In this paper, they showed how neuro-fuzzy controllers can be achieved using a controller based on the Takagi–Sugeno design and a radial basis function neural network for its implementation. Neuro-fuzzy-based mobile robot navigation was presented by Rusu et al. [14]. In this paper, they discussed a neuro-fuzzy controller for sensor-based navigation in indoor environments. A neuro-fuzzy controller for mobile robot navigation was addressed by Kim and Trivedi [15]. In this study, they implemented neural integrated fuzzy controller to control the mobile robot motion in terms of steering angle, heading direction, and speed.

The objective of this paper presents a new approach toward navigation of mobile robot in uncertain environments populated by varieties of obstacles. The ANFIS navigational controller uses only simple information from the ultrasonic range finders to determine whether obstacles are present or not and navigate the mobile safely toward the target.

2 Kinematic Modeling of Mobile Robot

The kinematics analysis of differentially steered wheeled mobile robots in a two-dimensional plane can be carried out in one of two ways: either by Cartesian or by polar coordinates. It is assumed that the mobile robot moves without slipping on a plane; i.e., there is a pure rolling contact between the wheels and the ground, and also, there is no lateral slip between the wheel and the plane. The modeling in Cartesian coordinates is the most common use, and the discussion will be limited to modeling in Cartesian coordinates. The robot has two fixed standard wheels that are at both sides of mobile robot and one caster wheel that is attached to the front and is differentially driven by skid-steer motion. The two driving wheels are independently driven by two motors to acquire the motion and orientation. Both the wheels have same diameter ‘2r’ (Fig. 1). The position of the robot in the 2-D plane at any instant is defined by the situation in Cartesian coordinates and the heading with respect to a global frame of reference. The kinematics model of this type of mobile robot is defined by the following equations [16]:

$$ \dot{x} = v{ \cos }\theta $$
(1)
$$ {\dot{y}} = {vsin \theta} $$
(2)
$$ {{\dot{\theta}}} = {\omega} $$
(3)

where x and y are the coordinates of the position of the mobile robot. θ is the orientation of the mobile robot with respect the positive direction X‐axis. v is the linear velocity, and ω is the angular velocity (Fig. 2).

Fig. 1
figure 1figure 1

Mobile robot kinematic parameters

Fig. 2
figure 2figure 2

Initial position of the robot

Fig. 3
figure 3figure 3

ANFIS model for current analysis

Fig. 4
figure 4figure 4

Obstacle avoidance and target steering

3 Design Architecture of the Adaptive Neuro-Fuzzy Inference System (ANFIS) for Present Analysis

ANFIS is one of the hybrid intelligent neuro-fuzzy system and it functioning under Takagi–Sugeno-type FIS, which was developed by Jang [1]. ANFIS has a similar structure to a multilayer feed-forward neural network, but the links in an ANFIS only indicate the flow direction of signals between nodes, and no weights are associated with the links. There are two learning techniques are used in ANFIS to show the mapping between input and output data and to compute optimized of fuzzy membership functions. These learning methods are back propagation and hybrid. Parameters associated with fuzzy membership functions will modify through the learning process.

As for the prediction of steering angle for mobile robot, we assume the adaptive neuro-fuzzy inference system under consideration of four inputs, i.e., front obstacle distance (x1), right obstacle distance (x2), left obstacle distance (x3), heading angle (x4), and each input variable has five membership functions (MF) A1, A2, A3, A4 and A5, B1, B2, B3, B4 and B5, C1, C2, C3, C4 and C5 and D1, D2 and D3, D4 and D5, respectively; then, a Takagi–Sugeno-type fuzzy inference system if–then rules is set up as follows:

Rule: if x1 is Ai and x2 is Bi and x3 is Ci and x4 is Di, then.

fn(steering Angle) = pnx1 + qnx2 + rnx3 + snx4 + un.

where i = 1-5 and pn, qn, rn, sn and un are the linear parameters of function fn, and changing these parameters, we can modify the output of ANFIS structure (Fig. 3).

The function of each layer in ANFIS is discussed as follows.

Input layer: In this layer, nodes simply pass the incoming signal to layer-1. That is,

$$ {O}_{{0,\,{\text{FOD}}}} = {x}_{1} $$
$$ {O}_{{0,{\text{ROD}}}} = {x}_{2} $$
(1)
$$ {O}_{{0,{\text{LOD}}}} = {x}_{3} $$
$$ {O}_{{0,{\text{TA}}}} = {x}_{4} $$

First Layer: This layer is the fuzzification layer. Neurons in this layer complete fuzzification process. Every node in this layer is an adaptive node and computing the membership function value. The output of nodes in this layer is presented as

$$ O_{1,i} = \mu_{{A_{i} }} \left( {x_{1} } \right) $$
$$ {O}_{{1,{i}}} = {\mu}_{{{B}_{i}}} \left({{x}_{2}} \right) $$
$$ { O}_{{1,{i}}} = {\mu}_{{{C}_{i}}} \left({{x}_{3}} \right) $$
(2)
$$ {O}_{1,i} = {\mu}_{{D_i}} \left({x_4} \right) $$

i = 1…5. Here, O1,i is the bell-shaped membership grade of a fuzzy set S (Ai, Bi, Ci, and Di), and it computes the degree to which the given inputs (x1, x2, x3, and x4) satisfy the quantifier S. Membership functions defined as follows:

$$ {\mu}_{{{A}_{i}}} \left({x} \right) = \frac{1}{{1 + \left[{\left({\frac{{{X}_{1} - {C}_{i}}}{{{a}_{i}}}} \right)^{2}} \right]^{{{b}_{i}}}}} $$
(2(a))
$$ {\mu}_{{{B}_{i}}} \left({x} \right) = \frac{1}{{1 + \left[{\left({\frac{{{X}_{2} - {C}_{i}}}{{{a}_{i}}}} \right)^{2}} \right]^{{{b}_{i}}}}} $$
(2(b))
$$ {\mu}_{{{C}_{i}}} \left({x} \right) = \frac{1}{{1 + \left[{\left({\frac{{{X}_{3} - {C}_{i}}}{{{a}_{i}}}} \right)^{2}} \right]^{{{b}_{i}}}}} $$
(2(c))
$$ { \mu}_{{{D}_{i}}} \left({x} \right) = \frac{1}{{1 + \left[{\left({\frac{{{X}_{4} - {C}_{i}}}{{{a}_{i}}}} \right)^{2}} \right]^{{{b}_{i}}}}} $$
(2(d))

ai, bi, and ci are parameters that control the center, width, and slope of the bell-shaped function of node ‘i’, respectively. These are also known as premise parameters 5.

Fig. 5
figure 5figure 5

Wall following, obstacle avoidance, and target steering

Second Layer: It is also known as rule layer. Every node in this layer is a fixed node and labeled as πn. Each node in this layer corresponds to a single Sugeno–Takagi fuzzy rule. A rule node receives inputs from the respective nodes of layer-2 and determines the firing strength of the each rule. Output from each node is the product of all incoming signals.

$$ {O}_{{2,{n}}} = {w}_{n} = {\mu}_{{{A}_{i}}} \left({{x}_{1}} \right) \cdot {\mu}_{{{B}_{i}}} \left({{x}_{2}} \right) \cdot {\mu}_{{{C}_{i}}} \left({{x}_{3}} \right) \cdot {\mu}_{{{D}_{i}}} \left({{x}_{4}} \right) $$
(3)

where ‘Wn’ represents the firing strength or the truth value, of nth rule and n = 1, 2, 3…625 is the number of Sugeno–Takagi fuzzy rules.

Third Layer: It is the normalization layer. Every node in this layer is a fixed node and labeled as Nn. Each node in this layer receives inputs from all nodes in the fuzzy rule layer and determines the normalized firing strength of a given rule. The normalized firing strength of the nth node of the nth rule’s firing strength to sum of all rules’ firing strength.

$$ {O}_{{3,{n}}} = \overline{w} _{n} = \frac{{\overline{w} }}{{\sum\limits_{{n = 1}}^{{625}} {w_{n} } }} $$
(4)

The number of nodes in this layer is the same the number of nodes in the previous layer that is 81 nodes. The output of this layer is called normalized firing strength.

Fourth Layer: Every node in this layer is an adaptive node. Each node in this layer is connected to the corresponding normalization node and also receives initial inputs x1, x2, x3, and x4. A defuzzification node determines the weighted consequent value of a given rule define as

$$ {O}_{{4,{n}}} = \overline{w} _{n} {f}_{n} = \overline{w} _{n} \left[{{p}_{n} \left({{x}_{1}} \right) + {q}_{n} \left({{x}_{2}} \right) + {r}_{n} \left({{x}_{3}} \right) + {s}_{n} \left({{x}_{4}} \right) + {u}_{n}} \right] $$
(5)

where \( \overline{ {\text{w}}}_{\text{n}} \) is a normalized firing strength from layer-2 and [\( {p}_{{{n},}} {q}_{{{n},}} {r}_{{{n},}} {s}_{{{n},}} {u}_{n} \)] are the parameters set of this node. These parameters are also called consequent parameters.

Fifth Layer: It is represented by a single summation node. This single node is a fixed node and labeled as ∑. This node determines the sum of outputs of all defuzzification nodes and gives the overall system output.

$$ {O}_{5,1} = \mathop \sum \limits_{{{n} = 1}}^{625} \overline {w}{{f}_{n}} = \frac{{\mathop \sum_{{{n} = 1}}^{625} {w}_{n} {f}_{n}}}{{\mathop \sum_{{{n} = 1}}^{625} {w}_{n}}} $$
(6)

4 Simulation Results

To prove the effectiveness of the proposed navigational controller, a series of simulation experiments were conducted on various unstructured environments. Various reactive behaviors such as obstacle avoidance, wall following, and target seeking were active based on the sensory information related to relative position of the various obstacles with respect to mobile robot as well as the relative position of the goal with respect to the mobile robot in terrain. In order for mobile robot to reach at the target position without colliding with obstacles, a particular behavior needs to be select according to situation around the mobile robot. When an obstacle located in front of the mobile robot, the mobile robot must need to change its steering angle in order not to collide with them. In general, behaviors of obstacle avoidance and target seeking mainly depend on the distances between the position of the mobile robot and the obstacles to the front, left and right positions, on the other side wall following behavior depends on the target angle between the mobile robot and an identified target. Figs. 4, 5, and 6 show the path created for mobile robot motion in a cluttered environment with considering different start and goal positions. It can be observed that, using sensory information, the mobile robot can reach successfully at the target object by efficiently using multiple types of reactive behaviors with proposed navigation algorithm (Table 1).

Fig. 6
figure 6figure 6

Corridor following with single-target tracking

Table 1 Training data for current analysis

5 Concluding Remarks

A sensor-based navigation technique utilizing ANFIS has been presented in this research paper. The proposed navigational strategy consists of various reactive behaviors such as obstacle avoidance, wall following, target seeking. In order to show the effectiveness of the proposed controller, a series of simulation experiments has been performed under various environmental scenarios. It has been observed that the mobile robot can be reached safely at the target without colliding with obstacles present in the environment. The current algorithm has also adaptable to any type of complex environments. As a further work, the proposed technique is to be tested on multiple mobile robots with dynamic obstacles instead of a single mobile robot.