1. Introduction
The great boom of technological advances in robotic and artificial intelligence has permitted the development of new systems combining different characteristics and allowing applications for a future world. Different types of robots can be found and classified according to environments such as mobile ground systems, mobile aerial systems, and water and underwater mobile systems. Wheeled mobile robots consist of robots with motion capacity through wheels into the environment.
Previous robots required research on navigation or obstacle avoidance, which are significant issues and challenging tasks for mobile robots; they must be able to navigate safely [
1] in different circumstances, mainly to avoid a collision. Mobile robots are composed of mechanical and electronic parts: actuators, sensors, computers, power units, electronics, and so on. Depending on the environment in which the mobile robot will be implemented, two approaches can be identified [
2]; the first one uses the global knowledge of the environment, this means that, at all times, the robot has information about its location, movements, obstacles, and the goal. The second approach uses local information retrieved by range sensors such as sonar, laser, infrared, ultrasonic sensors, video cameras, or Kinect.
For example, ultrasonic proximity sensors use a transducer to send and receive high-frequency sound signals. If a target enters the beam, then the sound is sent back to the sensor, causing the output circuit to turn on or off. One advantage [
3] of these sensors is that they perform better at detecting objects that are more than one meter away. Light does not affect their operation as it does with other proximity devices. They have high precision detecting objects inside 5 mm. In addition, they can measure the distance through liquids and transparent objects. The pulse duration is proportional to the transducer distance and the object that reflects the closest sound [
4]. Applications have been proposed with ultrasonic sensors; for example, the authors in [
5] developed an array of ultrasonic sensors with sixteen pieces mounted on a mobile robot to perform real-time 2D and 3D mapping.
Another sensor widely used in obstacle avoidance applications is the Microsoft Kinect sensor, which has become one of the most popular depth sensors for research purposes [
6], created to recognize the human gesture in a game console and released in November 2010. The Kinect sensors use two devices to generate depth images: (1) An RGB Camera and (2) a 3D depth Sensor. The first one is the USB video camera (
) that performs facial recognition, object detection, and tracking; the second one is a 3D Depth Sensor formed by two devices: (a) an infrared laser projector and (b) a monochrome CMOS camera pair. The infrared laser projector (transmitter) incorporates an illumination light unit that projects a structured pattern light onto the objective scene and infers depth from that pattern’s deformation. A monochrome CMOS camera (receiver) takes this image from a different point and triangulates to obtain depth information, calculated at each RGB camera pixel.
Developing motion models is necessary, along with sensors and navigation. Models are developed based on robot kinematics and locomotion, which means moving an autonomous robot between two places. The kinematic model describes the relationship among inputs, parameters, and system behavior, describing the velocities through second-order differential equations. Different works proposing models for wheeled mobile robots appear in [
7,
8]. Authors in [
9] presented a kinematic modeling scheme to analyze the skid-steered mobile robot. Their results show that the kinematic modeling proposed is useful in a skid-steered robot and tracked vehicles. In [
10], a dynamic model for omnidirectional wheeled mobile robots is presented. According to the results, this model considers slip between wheels and motion surface. The friction model response is improved by considering the rigid material’s discontinuities among the omnidirectional wheel rollers. On the other hand, mobile robot models are based on different characteristics, such as structure and design. One characteristic consists of the kinematics of wheeled mobile robots. There are different types of kinematics: internal, external, direct, and inverse. The kinematic describes the relationship between mobile and the robot internal and external variables as a function of inputs and the environment.
During the last few years, several types of research are applying artificial intelligence to solve problems in different fields, such as engineering, finance, marketing, health, gaming, telecommunications, transportation, and many others. Obstacle avoidance for mobile robots has not been an exception. Authors in [
11] developed a hybrid AI algorithm combining Q-learning and Autowisard that will permit an autonomous mobile robot to self-learn. Using five layers Neuro-fuzzy architecture to learn the environment and the navigation map of a place, the mobile robot was routed based wholly on the sensor input (3D vision) by [
12].
In this paper, we extend and analyze two systems designed for Obstacle–Avoidance implemented to perform in real-world scenarios [
13,
14]. The first system [
13] presents the case of a mobile robot that applies fuzzy logic to realize soft turns basing its decision on depth image information obtained by a Microsoft Kinect device; the second system [
14] introduces the case of a mobile robot based on a multi-layer perceptron, navigating in an uncontrolled environment with the help of ultrasonic sensors to decide how to move. The main contribution of this work lies in the discussion of aspects learned through the experience of designing and implementing these mobile robots in real-world conditions, which allow comparing both approaches in terms of different considerations, such as the heuristic approach implemented, requirements, restrictions, response time, and performance. Although several works have approached this kind of comparison, such as the ones presented in [
15,
16], there is valuable information that a detailed discussion on environmental inputs and general operational conditions, along with the analysis of both options, can offer to help in the decision of selecting one approach or the other. Hence, this kind of analysis and discussion offers perspectives to choose: (i) between reactive Obstacle–Avoidance systems based on ultrasonic or Kinect sensors, and (ii) between models that infer optimal decisions applying fuzzy logic or artificial neural networks; with elements and methods that are key when designing wheeled mobile robots.
In the next sections, we present a brief explanation of two widely used AI techniques applied to mobile robots and some critical considerations and methods for obstacle avoidance and navigation applications.
2. Artificial Intelligence, Obstacle Avoidance, and Navigation
Heuristic approaches, such as Fuzzy Systems and Artificial Neural Networks (ANN), have been widely used in mobile robot navigation. The use of fuzzy logic is primarily seen to deal with uncertainty in sensory data [
17].
Fuzzy Logic enables expert systems based on rules, which work closer to the “common sense” that humans apply to make decisions; these systems use fuzzy rules and fuzzy inference instead of exact rules. These rules intend to be subjective, ambiguous, vague, or contradictory, like the human common sense knowledge, acquired over the long-term and many people’s experiences, over many years [
18].
Fuzzy rules deal with fuzzy values, for example, “high”, “cold”, “very good”, etc. These concepts are usually represented by their membership functions, which show the extent to which a value from a domain is included in a fuzzy concept (see
Figure 1). The knowledge of a specialist is necessary to define these rules and the regions of the membership functions. Fuzzy inference takes inputs, applies the rules, and produces outputs. Inputs to a fuzzy system can be either exact, crisp values, or fuzzy values (“very cold”); output values can be fuzzy, for example, a whole membership function for the inferred fuzzy value, or exact, for example, crisp values. The process of transforming an output membership function into a single value is called defuzzification.
Usually, a fuzzy system consists of the following steps [
1]: (i)
Fuzzification: where inputs are fuzzified to be associated with linguistic variables using membership functions. (ii) Inference: this refers to the fuzzy rule base containing fuzzy IF-THEN rules to derive the linguistic values for the intermediate and output linguistic variables. (iii) Defuzzification: once the output linguistic values are obtained, the defuzzification produces the final crisp values from the output linguistic values.
Several fuzzy logic applications exist in the market now, like control of automatic washing machines, camera focusing, control of transmission in cars, and many automation tasks such as landing systems and control of subways.
Many reactive navigation systems based on fuzzy control and ANN have been proposed over the last years, applying different input data types. For example, the authors in [
19] use an IR transmitter and receiver to find the obstacle in the path of the vehicle, where they implement a multilayer feed-forward neural network with backpropagation training algorithms running inside a microcontroller. A neural network approach equipped with statistical dimension reduction techniques was created by [
20] to increase the speed and precision of the network learning; authors used a feed-forward ANN based on function approximation with backpropagation training. Two different datasets, obtained from a laser range sensor, were used for training the networks. Development using Q-learning and a neural network planner was applied to solve path planning problems, which has proven to be effective in navigation scenarios where global information is available [
2]. Even hybrid systems using Fuzzy Logic and ANNs have been proposed, like [
1], where Fuzzy Logic treats the data of infrared sensors, which become the input of the ANN that decides which movement the robot must perform.
Artificial Neural Networks are an attempt to emulate the human brain neuron performance. Its structure can be defined by three layers: input layer, hidden layer, and output layer. ANNs can be classified by their topology (single layer or multi-layer) and its learning types (supervised, unsupervised, reinforcement, etc.) [
17,
21,
22].
A single-layer network can have one or more inputs and outputs. As an example,
Figure 2a shows a single-layer architecture with four inputs and one output. The individual inputs
are each weighted by its corresponding elements
of the weight matrix
. The bias neuron is added with the weighted inputs to create the net input (see Equation (
1)):
In matrix form, Equation (
1) will become as described in Equation (
2), where matrix
stands for the input matrix:
Finally, the neuron output can be written as in Equation (
3):
where
b represents the bias, and
f is a transfer function (see
Figure 2b,c) that is chosen depending on the application; this function will adjust the parameters
w and
b, depending on the learning rules, all this to achieve a specific input/output relationship.
An important characteristic that must be chosen when an ANN is designed is its transfer function (
f). The selection is made from two possibilities: (a)
linear will not limit the output of the functions between any range, or (b)
nonlinear makes it easier for the model to adapt to data diversity, and it can differentiate among the outputs. The objective of the transfer function (also known as transformation, activation, or threshold function) is to avoid outputs from reaching very large values that can stop ANN and inhibit training [
23]. A variety of transfer functions exist, such as hard limit transfer, symmetrical hard limit, log-sigmoid, and hyperbolic tangent sigmoid.
In this case, log-sigmoid transfer function
is one of the most used on ANN applications, which takes the input
and adjusts the output into the range 0 to 1 (see
Figure 2b), because it is a differentiable function and is commonly applied in multilayer networks trained with backpropagation [
24]. Additionally, hyperbolic tangent sigmoid transfer function
is related to a bipolar sigmoid that has an output in the range of (±) (see
Figure 2c). This function is a good trade-off, where speed is more important than the transfer function’s exact shape.
Two principal architectures can be distinguished for ANNs:
Feed forward network: Information travels in one direction between layers (input, hidden, and output) without affecting the past, present, or future layer. In other words, feedback between layers does not exist.
Recurrent network: This network at least has one loop or feedback, allowing for storing information about its past calculations. Their capability to model temporal sequences of input–output pairs has given them success in natural language processing (NLP) applications: machine translation, speech recognition, and language modeling.
The ANNs can also be classified based on their learning/training types [
18]:
Supervised learning: On this training, each input is associated with an output, which will be the desired output (target). The training process is performed until the network “learns” to associate each input to its corresponding and desired output.
Unsupervised learning: In this case, only the input is supplied to the network; the network learns by itself, adapting some internal features of the input presented a priori.
Reinforcement learning: Here, a set of inputs is presented to the network; if the output provided by the network is “ok”, then the connection weights are increased (reward); otherwise, the weights decrease (penalty). This learning type is also known as “reward–penalty learning”.
One of the most used ANN architectures is the Multi-Layer Perceptron (MLP), a feed-forward ANN; it can have any number of inputs and one or more hidden layers. It generally applies linear combination functions on its input layers and has some number of outputs with any activation function.
Nowadays, ANNs are widely used in machine learning applications, such as autonomous navigations, where different types of inputs are provided, as images and distance measures.
Obstacle avoidance and navigation. It is one of the main tasks performed by mobile robots; it consists of avoiding a set of obstacles through the path to reach the goal in the environment. There are two techniques for obstacle avoidance on path planning: global and local. A global type requires full knowledge of the static environment to search the target from an initial place. The local strategy consists of detecting the robot’s position and obstacles close to it. In addition, for obstacle avoidance, two aspects need to be considered; the first one consists of detecting different obstacles through sensors. Second, the mobile robot will choose a proper path to reach the target without a crash.
The knowledge of the environment is an essential aspect to avoid obstacles. There are dynamic and static types of obstacles, which are obstacles moving and without changes, respectively. A set of parameters determines the robot’s position in space. Considering the parameters, a configuration is needed; this means that a system state at the environment space covered in
n dimensions. Therefore, a vector space can be expressed by
, where
q is a point in the dimensional space
Q [
25].
In addition, robot navigation means finding its location and building a path to reach a goal, avoiding different environmental situations such as obstacles, radiation, weather, among others. Several approaches have been proposed to solve the autonomous navigation problem, such as methods based on fuzzy logic, neural networks, genetic algorithms, fuzzy-PSO, FLC-Expert systems, among others. For example, in [
26], the authors proposed a method based on a combination of different algorithms, including fuzzy-PSO and genetic algorithms, to identify the optimal navigation in complex environments. According to their results, the proposal is suitable for navigation with and without obstacle avoidance in different environments.
Different techniques can represent the environment, such as graph representation, cell decomposition, and road-map, among others. For example, the environment representation can usually be translated into a graph containing all mobile robot stages and the area covered by obstacles. This graph is called a state transition graph when all intermediate configurations and transitions are considered.
Reactive methods need an accuracy system based on sensors that can avoid obstacles in the environment. One manner of performing is path planning, which is about tracking a path to guide the robot from an initial location to an objective. Usually, when path planning is performed, a map is used, and memory contains the data employed to build it. The main steps performed during path planning are:
self location,
path planning,
map building, and
map interpretation [
27]. A useful path consists of a set of actions that guides the robot through two points. According to the problem’s target, an optimal path needs to satisfy different conditions such as smooth motion, constraints related to the problem, time used to reach the goal, and obstacle avoidance. In addition, motion planning is the process of selecting inputs and motions satisfying all constraints such as risk and obstacle avoidance. This task is performed through different models and environments [
27].
3. System Analysis
In this section, two cases of obstacle avoidance with mobile robots are extended and analyzed. The two cases [
13,
14] apply different approaches from artificial intelligence: fuzzy logic and artificial neural networks, and their input signals are different as well.
3.1. Case I: Mobile Robot and Fuzzy Logic
The first case is a self-navigating robot, which uses depth data obtained from the Kinect sensor, and provides knowledge from its working space. This information enables us to adjust soft turning angles by applying fuzzy rules. The robotic system considers uncertain information aiming to provide services to disabled people to improve their quality of life.
The architecture is reactive for soft turning and consists of three main stages: (i) data acquisition and processing, (ii) decision on navigation using fuzzy logic, and (iii) reactive behavior and actuators (see
Figure 3). The first stage includes sensors (provide data) and data processing (generates features, metrics, and characteristics). The second stage takes processed data from the previous stage, which are inputs for the navigation module, based on fuzzy logic that generates certain decisions for the next stage. Finally, the third stage makes decisions and produces control signals for the mobile robot actuators, avoiding obstacles. These three stages provide the architecture with flexibility, adaptability, and fast-response capacity in front of unexpected situations. The main characteristics of the system are a depth image and fuzzy logic. The first one offers data and objects in a depth context, whereas the second one implements a fuzzy reactive inference control without the system model’s preconditions. In this way, the planning strategy is reactive and adjusts the wheels’ turning angle by sensing its environment in real time.
The mobile robot is designed and programmed to operate in a dynamic environment, which implies no environmental constraints. The architecture does not require a priori knowledge about the obstacles or their motion. The environment is dynamic, an important issue that many works do not consider because it implies that the environment changes and objects move. These objects must be recognized, and the robot must react in a short time to avoid them.
The Kinect sensor provides depth data, which is processed in a computer in four stages to generate the soft turning angle, avoiding future and unexpected collisions. The system was implemented and tested on the differential-type wheeled robot Era-Mobi equipped with an on-board computer and Wi-Fi antenna. The turning angle is sent to the robot via sockets using the Player/Stage server, a popular open-source generic server employed in robotics to control sensors and actuators. The Era-Mobi robot is compatible with a broad range of sensors, including infrared, sonar, laser telemeter, and stereoscopic vision. The analyzed system is integrated by four modules that transform depth data from the Kinect sensor into a soft turning angle (see
Figure 4) described in the next sections.
Module 1: Pixel-wise bit reduction. This module is based on depth images acquired using the Kinect sensor, which has a size of 640 × 480 pixels. On the one hand,
Figure 5a presents an RGB image, which is shown for visual reference and is not used for processing or analyzing. On the other hand, depth images are processed, where each pixel represents a depth value in a range between 0 millimeters (black color) and 65,535 millimeters (white color), as can be seen in
Figure 5b. In this image, most pixels fall into the darker specter, since they are in an extreme vision range of the Kinect sensor (about 10,000 millimeters). The pixel-wise reduction process transforms the 16-bit image (format from the Kinect sensor) into an 8-bit image (see
Figure 5c), where 0-value represents a distance very close, very far or unidentified objects. Thus, the navigation system must maintain a path towards places where there is enough space, avoiding going towards regions where 0-values are predominant and, consequently, avoiding potential future collisions. Otherwise, the system stops the actuators.
Module 2: Morphological reconstruction. To simplify data in images, morphology can offer this process, keeping essential features and suppressing those aspects that are irrelevant. The system searches depth features and, at the same time, removes small unknown regions surrounded by known regions, providing a higher definition from the objects and their depth into the environment. Specifically, this module uses the geodesic erosion algorithm, highlighting those pixels with the lowest sharpness whenever their neighboring pixels are sharper, providing depth images with a lower amount of dark particles.
Figure 5d shows a depth image, which has been processed by the morphological reconstruction.
Module 3: Average depth. In this context, the robot can go to different places, and the system takes into account the work volume of the robot. Thus, the depth image processed by the previous module is divided into Left Subimage, Center Subimage, and Right Subimage (see
Figure 6a–c) [
28]. Each sub-image has a size of 211 × 400 pixels, representing the possible reference paths where the mobile platform can go: turn right, forward, and turn left. This division is computed by two factors: (1) the dimensions of the mobile robot (length = 400 millimeters, width = 410 millimeters, and height = 150 + 630 millimeters, where 150 millimeters are due to the physical robot and 630 millimeters are due to the Kinect sensor and its support) and (2) the sensed effective distance by the Kinect sensor (about 3000 millimeters).
The module implements the method proposed by [
29], computing the threshold value and differentiating high and low depths. For each sub-image, if the amount of unknown data (0-values) is more considerable than a given percentage (67% in this case), the sub-image data suggest nearby obstacles, and the average depth is computed by using the mean of the low-valued depths. Otherwise, the average depth is computed by using the mean of the high-valued depths. If there are no low-valued depths, then the high-valued depths are used. In a few words, the average depth in each sub-image provides the region with a lower probability of collision, and if this region is not determined, then the robot is stopped. From this information, the reactive navigation system must compute the turning path, taking into account the imprecise data and avoiding sudden movements. This scenario enables the implementation of fuzzy control.
Module 4: Fuzzy logic system. This module implements a fuzzy control for the reactive navigation of the mobile platform (see
Figure 6d). The used tool for this development was Matlab’s Fuzzy Logic Toolbox. The fuzzy inference system receives the average depth values obtained from each sub-image as inputs. It provides an output variable in sexagesimal degrees between −90° and 90°, representing the turning angle. A Sugeno inference system is used because it is computationally effective by generating numeric outputs and not requiring a defuzzification process. Sugeno systems work with adaptive and optimization techniques, and these implemented in navigation guarantee continuity in the output surface [
30].
The depth variables obtained by each sub-image (Left, Center, and Right) are inputs. Each has three linguistic values: Near, representing the depth of the close objects, Medium, considering the depth of those objects located neither so far nor so near, and Far, to indicate distant objects (see
Figure 6). Trapezoidal membership functions are used for the linguistic values Near and Far, and a Triangular one is used for Medium. These kinds of membership functions do not represent complex operations, as in the case of the Gaussian or the generalized bell-shaped functions [
31].
The output variable Angle is divided into seven linguistic values to represent how pronounced the navigation turn will be. The function for the linguistic output variable is defined by Equation (
4), where
is the output variable for each linguistic value
i;
, and
are constant values for each linguistic value
i;
, and
z are the input variables:
A zero-order Sugeno system was used [
31] to prevent a complex behavior. Thus, the function for each linguistic variable is defined just in terms of a constant
. As described in [
28], for each linguistic value, different functions were defined as follows:
for Very Positive,
for Positive,
for Little Positive,
for Zero,
for Little Negative,
for Negative, and
for Very Negative.
The number of permutations in the linguistic values (Near, Medium, and Far) and the respective input variables (Left, Front, and Right) produce the set of fuzzy rules, which is defined and developed to obtain the output value corresponding to the turn in the mobile platform. The fuzzy control uses 27 rules, divided into four groups, depending on a common goal: rules for performing pronounced turns, rules for predicting collisions, rules for straight-line movements, and rules for basic turns. The set of rules is described as: If x is A, then y is B.
These rules try to emulate the human reaction during navigation since they generate gradual reactions going from performing almost no turn to abrupt moves, either to avoid unexpected collisions or on the move. The set of rules has the primary goal of executing soft turns that guarantee the mobile platform’s integrity, which is a fundamental condition in wheelchair navigation, to protect the person using it.
3.2. Case II: Mobile Robot and Neural Networks
The second case is a self-navigating robot, which uses data obtained from ultrasonic sensors and artificial neural networks to decide where to move in an uncontrolled environment: to the right, left, forward, backward, and, under critical conditions, stop. This information allows for smooth turns applying multilayer neural network architecture with supervised learning algorithms. The mobile robot decides to avoid fixed and mobile obstacles, providing security and movement in uncontrolled environments.
Mobile robot construction. In this case, the mobile robot algorithm applies a multilayer neural network (MLP) utilizing backpropagation. The mobile robot structure was designed to be easily modified and adaptable. Its physical appearance was evaluated to be simple with reduced size, considering previous mechanical structures of robots.
Figure 7a presents the top view of the mechanical structure of the mobile robot. The localization of each device applied for its movement is also shown there. A list of each device is shown in
Figure 7b, and the prototype picture is presented in
Figure 7c.
The design of the electronic connection diagram implemented in the mobile robot is shown in
Figure 8, where the microcontroller, SRF02 ultrasonic sensor,
-180 geared motors, and an LCD screen that displays the motors and sensor status are presented.
In
Figure 9, the block diagram of the system operation is shown, where the system makes a decision after processing the signal from the ultrasonic sensors.
The sensors described in the first block of
Figure 9 are read by means of the following code:
Code 1: Ultrasonic sensor reading stage.
1 // Function analog sensor reading
2void read_analog ()
3 {
4 mq7_i=analogRead(A0);
5 mq4_i=analogRead(A1);
6 mq7_d=analogRead(A2);
7 mq4_d=analogRead(A3);
8 mq4_i=(mq4_i*9.481)+300;
9 mq7_i=(mq7_i*1.935)+20;
10 mq4_d=(mq4_d*9.481)+300;
11 mq7_d=(mq7_d*1.935)+20;
12 }
ANN Design to make decisions. Several applications to avoid collision of mobile robots while controlling their movements and generating a path have been developed, showing a pattern classification problem. Networks such as single perceptron, multilayer perceptron, radial basis networks, and probabilistic neural networks (PNNs), among others, have been popularly used. In this case, a multilayer perceptron (MLP) is chosen because of its general characteristics. In addition, it is an architecture that is relatively simple to implement in a robot.
Figure 10 presents the neural network structure. It consists of three input vectors and an output vector with four elements each; then, a 4-layer configuration was made [5, 4, 4, 4], in the first hidden layer using the “tansig” activation function, and a “logsig” function in the second and third hidden layer was used. The activation function applied in the output layer was the “logsig”.
Inside the robot, on the left, center, and right, ultrasonic sensors were placed, operating as the network’s inputs. These sensors are activated depending on the proximity of the obstacle in the path. The network’s output depends on these sensors that allow the proper position and hence obstacle avoidance. Decimal numbers will be the output network in the range [0 1]. After that, a comparison function in Arduino will be executed to establish the value of the output greater than 1 and the other two in 0.
Equation (
5) represents the mathematical behavior of the neural network developed and implemented in the embedded system for decision-making of the mobile robot:
6. Conclusions
Wheeled mobile robots have allowed human beings to perform activities in challenging-access environments, such as radioactive zones, space, explosives, etc. In turn, designing, modeling, and testing mobile robots require techniques to enable prototypes to achieve a proposed objective in the environment. Whether the models have different characteristics must be considered, such as the robot’s physical structure, movement restrictions, components, etc.
In this paper, two different cases of mobile robots using artificial intelligence were presented to avoid obstacles. The first applied fuzzy logic rules with depth images as an input pattern, obtaining a turning angle as output. The second case involved a multilayer perceptron network that uses ultrasonic sensor signals as input vectors to generate four possible outputs. As shown in the results of both cases, the performance achieved by mobile robots is optimal, completing their main objective of avoiding a collision.
What can be learned from the analysis of these two very different implementations of intelligent reactive Obstacle–Avoidance systems for mobile robots is that the use of artificial intelligence is of benefit to facilitate the interaction of a robot either in a static or a dynamic environment. Although a robot designed based on a predefined navigation map is expected to behave adequately using this map, it is frequently not the case that its behavior is good in the presence of dynamic environments. This subtle difference, mostly due to the use of artificial intelligence, which allows the robot to have a reactive behavior, must be emphasized since this makes a difference between designing a mobile robot that is only prepared for laboratory-conditions and designing it for working in real-world environments, where the interaction with humans and other mobile robots is definitely not part of a static environment.
As a remark, even with different artificial intelligence techniques, fuzzy logic, and artificial neural networks, we can appreciate that both are good options for mobile robot applications. Furthermore, as mentioned previously, many hybrid systems have been proposed in the literature, which provides several alternatives for implementing reactive mobile robots using artificial intelligence.
Another thing we can learn is that it is certainly important that the choice of a particular technique will mostly depend on the kind of application since the number of computational resources, such as available memory, computing power, sensors, etc., will determine the kind of technology that is more suitable for the particular implementation. Given these limitations, it is not always feasible to implement these systems using a certain technique. Another aspect, just as important and quite related to the available hardware resources, is how fast the response needs to be since, for example, a mobile robot in an industrial environment has quite different requirements in terms of response time compared to those of an autonomous vehicle. By analyzing these requirements and restrictions, the most suitable technique for the implementation of such a mobile robot is more likely to be properly determined.
As we have explained, although the two analyzed cases are based on heuristic approaches, both differ in certain aspects. While, in the former case, the use of fuzzy logic provides a more reliable behavior while processing uncertain data, the need for an expert in the field, capable of properly defining the rules the system will use to make a decision, might represent a clear disadvantage in terms of ease of implementation. However, once the rules are defined, this knowledge helps the system make fast and accurate decisions; in addition, the fact that these systems need no training for working represents an advantage in certain contexts. On the other hand, in the analyzed case using artificial neural networks, the need for training might be seen as a disadvantage since this training might take a long time and several resources, limiting the kind of devices where this kind of solution can be satisfactorily implemented; nonetheless, the training of the system, in certain problems, can be made offline, which serves to avoid the problem of limited resources; in addition, once trained, a system based on artificial neural networks is capable of making fast and reliable decisions as well.
The response time of systems is affected by how fast they generate the inference. In addition, the type of information processed influences their precision. In addition, the processing time is highly coupled to how sensors react throughout the inferences system’s signals. For instance, the mobile robots applying MLP presented in this paper, both physically implemented, can present zigzag movements according to the neural architecture. Nevertheless, the fuzzy control carries out a slow response but smooth movements. In the case of the application of neural networks, the physically employed system’s response time is 17 s between one decision-making and another (data obtained in a field test). In contrast, the fuzzy control decision time is 38.9 s.
One aspect that cannot be ignored is the possibility of using fusion techniques for integrating several different sensors for composing a more sophisticated solution. This represents the inclusion of more than one type of input vector for mixing these sensors’ information. In addition, the possibility of hybridizing techniques like these is attractive for future implementations; for example, by learning the fuzzy rules using an artificial neural network, instead of depending on expert knowledge, such as in the case of the adaptive neuro-fuzzy inference system (ANFIS) [
32].
Many works can still be developed in the area of mobile robots. The used approaches will depend on robots’ application, environment, and their main purpose or function. Currently, for example, mobile applications for hospitals are being used to guide and/or support the transport of hospital equipment for better delivery and reception times in necessary areas.