Abstract
An intelligent autonomous robot is supposed to collect information of the environment using camera(s) and/or sensor(s), analyze the collected data and plan its motion, execute the planned motion by avoiding collision with the obstacle (if any), on-line. Moreover, the robot should learn from its past experience. The principle of soft computing had been used in all the above areas of research by various researchers. A thorough literature review has been carried out in the present paper. Although a lot of studies had been reported in each of the above areas, there are scopes for further improvement. Some research issues have been identified for future study.
Introduction to intelligent autonomous robots
The term intelligence has been defined in a number of ways in the literature, and out of all these definitions, the most popular one was given by Albus [1]. It is as follows: “– intelligence is defined as the ability of a system to act appropriately in an uncertain environment, where appropriate action is that which increases the probability of success, and success is the achievement of behavioral sub-goals that supports the system’s ultimate goal.” An intelligent robot should be capable of taking the decisions in varying situations. A robotic system is called autonomous, if it is allowed to perform in varying situations without taking guidance from others. Therefore, all intelligent robots may not be autonomous. However, an autonomous robot should be intelligent. An intelligent autonomous robot has not only the ability to take decisions independently on-line but also the permission for the same, as the situations demands under varying conditions.
Recent research in robotics aims to design and develop intelligent autonomous robots, which are nowadays used in industries, space, sea-beds for mining, medical science, military, and others. These are developed in the forms of either manipulators (both serial as well as parallel manipulators) or mobile robots, such as wheeled robots, legged robots (namely hexapods, quadrapods, biped), tracked vehicles, aerial robots, and others. The following steps are to be used to design and develop intelligent autonomous robots:
Design and manufacturing of the mechanical structure of the robots, Conducting kinematic and dynamic analyses before designing an appropriate control architecture, Incorporating intelligence through appropriate motion planning (path and/or gait planning) algorithm(s).
During navigation, a robot collects information of the dynamic environments on-line, using the camera(s) and/or sensor(s). The collected information is then processed to determine the inputs of the motion planner. The robot navigates by following the outputs of the motion planner. To generate the motion suggested by the planner, the robot takes the help of controllers (say proportional-integral-derivative (PID) or proportional-derivative (PD) or other) of the motors mounted on them. It is important to mention that a PD controller is preferred to the PID for conducting experiments with a real robot, as the former is seen be faster compared to the latter. Thus, an intelligent autonomous robot should perform the following tasks, on-line, during its navigation:
Gathering information of the environment using camera(s) and/or sensor(s), Analysis of data to determine the inputs of the motion planners, Generation of the planned motion by the robot with the help of its wheels/joints using motors controlled by utilizing suitable controllers, Collision avoidance with the obstacle (if any), Utilizing the past experience to improve its performance.
It is to be noted that if the planning robot is a multi-legged one, it should be able to negotiate the rough terrains like staircases, ditches, and others.
Sometimes, the same environment is shared by a number of intelligent autonomous robots (also known as agents), and they constitute a multi-agent system (MAS) of robotics. A team of soccer playing robots is an example of MAS. A MAS may be either centralized or de-centralized in nature. In a centralized MAS, activities of a number of agents are controlled by a central computer; whereas each agent of a de-centralized MAS works based on its own planning in order to achieve the overall goal of the team. In MAS, the activities like coordination, cooperation and updating are to be performed in an efficient way. In 1993, Alan Mackworth gave his opinion in a paper entitled “On Seeing Robots” that soccer might be a good test-bed for the combined research of robotics and artificial intelligence (AI) [2]. Therefore, RoboCup, that is, World Cup of Robot Soccer has attracted much attention of the researchers to carry out research in robotics and AI. The primary goal of the RoboCup had been set as follows [3]: “By the mid-21-st century, a team of autonomous humanoid robots shall beat the human world cup champion team under the official regulations of FIFA”.
To cope with the above requirements, the robot’s motion planner and controller should have the properties like programmability, adaptability, reactivity, robustness, extensibility [4]. Moreover, besides off-line training, an intelligent autonomous robot should have the ability to learn on-line, so that new capabilities are self-evolved in order to tackle the varying surroundings.
Real-world problems are generally complex in nature and it could be difficult to obtain their precise solutions. Too much precision may not be always required in the solutions of these problems. On the other hand, we are happy, if we get some acceptable (soft) solutions in place of accurate (hard) ones. Soft computing is a big family consisting of some biologically- or nature-inspired techniques for optimization like genetic algorithms (GA) [5], particle swarm optimization (PSO) [6]; for learning and adaptation like neural networks (NNs) [7]; for handling imprecision and uncertainty like fuzzy logic (FL) [8]; and others, and their various combined forms. By soft computing, we mean the combined techniques like genetic-fuzzy (GA-FL) system, genetic-neural (GA-NN) system, neuro-fuzzy (NN-FL) system, genetic-neuro-fuzzy (GA-NN-FL) system, and others, in which precision is traded for tractability, robustness and low cost solutions [9].
Information collection of the surroundings using sensor(s)
Robots use sensor(s) and/or camera(s) to collect information of the environment. In robotics, various types of sensors are in use, namely position sensor, velocity sensor, acceleration sensor, force/moment sensor, touch sensor, proximity sensor, range sensor, and others [10]. Sensory data are generally imprecise in nature [11] and consequently, soft computing-based analysis of the collected data may be useful to extract useful information [12].
We, human-beings, and animals often use multiple sensors to gather information of the environment. The data collected through multiple sensors are fused together to collect information of the surroundings [13]. To estimate a physical quantity, average of multiple data collected through the same sensor could be helpful. However, fusion of the data collected through the sensors of different types could be more useful compared to the data gathered from a single sensor. The following steps are to be used for multi-sensors data fusion:
Data collected using the sensors of various types may have different units and ranges. To bring these data under a common reference, alignment is done through coordinate transformation and units’ adjustments. Thus, the data collected using different sensors are normalized in the scale of 0.0 to 1.0, for the purpose of analysis. Pattern recognition is then attempted using clustering algorithms, neural networks. The data are clustered based on similarity, so that similar data are put into one cluster and two dissimilar data belong to two different clusters. Interpretation of fused data is then done through a knowledge-based/expert system [14]. It is to be noted that an expert system can establish input-output relationships of a process.
Choi et al. [15] used competitive neural networks working based on unsupervised learning to cluster the data collected by utilizing ultrasonic sensors. They adopted a radial basis function neural network (RBFNN) for the data fusion of environment sensors. An expert system was developed by them using the fuzzy if-then rules to plan the movement of a snake robot. As the performance of an RBFNN largely depends on its architecture, there is a chance of further improvement of their developed algorithm. Manjunatha et al. [16] studied wireless sensor network, which consists of a large number of sensor nodes. Each sensor node was equipped with different types of sensors, such as temperature, humidity, light intensity and carbon monoxide sensors. The signals collected through these sensors were fused using fuzzy rule-based inference system. The performance of a fuzzy inference system is mainly dependent on its rule base. Therefore, the performance of their algorithm could be further improved by evolving an optimized rule base for the inference system. More recently, one method was developed by Safari et al. [17], in which the multi-rate multi-sensor system was transformed first into a single-rate multi-sensor model. In this multi-sensor system, one Kalman filter was used for each of them. A neural network was then utilized to fuse the outputs of multiple Kalman filters. Table 1 summarizes the above studies related to information collection of the surroundings using sensor(s).
Summary of the studies related to information collection of the surroundings using sensor(s)
The process of collecting information of the environment involves three steps, such as normalizing of the data collected using different sensors, clustering of the data to understand their nature or pattern and finally, development of an expert system to interpret the data. In the first step, there is no scope for further improvement. However, there are enough scopes for further improvement in the second and third steps. For example, the performance of clustering algorithms depends on a number of parameters, which are to be adjusted in an adaptive way. Moreover, clustering of a large spatial data set is difficult to carry out, and for which, some special algorithms had been proposed, namely CLARANS (Clustering Large Applications based on RANdomized Search) [18], DBSCAN (Density-Based Spatial Clustering of Applications with Noise) [19]. The performance of DBSCAN was found to be better than that of CLARANS in terms of the ability to form clusters of arbitrary shapes. Moreover, the performances of the clustering algorithms are found to be data-dependent, and consequently, the concept of intelligent clustering algorithm has come into the picture. An intelligent clustering algorithm is able to adjust its parameters in an adaptive way, so that it can yield both compact and distinct clusters. An expert system should be interpretable and capable of relating the input-output relationships of a process as accurately as possible, and a lot of improvement is yet to be done to evolve its appropriate knowledge base.
Information collection of the surroundings using camera(s)
The following steps are used to collect information of the surroundings with the help of camera(s) [10]:
Taking photograph of the environment using pre-calibrated CCD (charge-coupled device) camera(s) [20], Analog to digital conversion utilizing analog-to-digital (A/D) converter or digitizer, Frame grabbing, that is, storage of image as an array of light intensity values image element (pixel)-wise, Obtaining modified image from the original one using preprocessing/filtering through reduction of noise from the data, which includes reconstruction, restoration and enhancement of details, Segmentation of the image into a few sub-regions of interest, Extraction of significant features from the image, Object detection and recognition through computation of features like shape, size etc., Interpretation or image understanding by assigning appropriate meaning to each of the recognized objects.
The principle of soft computing had been used in all three areas of preprocessing of images, namely reconstruction, restoration and enhancement. Some of those studies are discussed below.
Image reconstruction
It aims to reconstruct an image from the data obtained through projections. The quality of the image should be good at a reasonably high speed of reconstruction. There are basically two methods of image reconstructions, namely transform methods [21] and algebraic methods [22]. In transform methods, the problem of image reconstruction is formulated mathematically, where known and unknown quantities are expressed as the functions. The unknown function is then solved using inversion formula. A 3D image can be thought of a stack of some thin 2D slices and a 2D image is constructed from integrals along lines in a plane.
On the other hand, an algebraic reconstruction technique (ART) reconstructs an image from a series of angular projections by solving a system of linear equations iteratively. It uses a large size of variable matrix consisting of image pixels and consequently, is computationally more expensive.
NNs had been widely used for image reconstructions as both the transform and algebraic methods. Kerr and Bartlett [23] utilized a supervised NN as a transform method for image reconstruction, whereas a recurrent Hopfield-type NN was adopted by Cierniak [24] for the same purpose. Knoll et al. [25] developed an algebraic approach of image reconstruction using back-propagation NN. Moreover, Srinivasan et al. [26] demonstrated an algebraic approach for image reconstruction using a Hopfield NN. A fixed architecture NN was used in the developed approaches. No attempt was made in these approaches to evolve an optimized architecture for the NN.
Image restoration
Image restoration aims to filter the image in order to improve its appearance by removing various types of noise included during image acquisition or transmission. Fuzzy-based approach had been developed by Nair [27] to remove different types of noise. Fuzzy-based switching median filter was used by him, in which filtering was applied to the corrupted pixels only. In a selected window, membership values were computed using Gaussian membership function for all the pixels based on the difference measure and corrupted pixels were identified and removed. The un-corrupted pixels were used for median filtering. It is to be noted that there is a chance of further improvement of the performance of the developed algorithm by optimizing the shape of Gaussian membership function. Neural networks had been widely used for image restoration. Paik and Katsaggelos [28], Sun [29] utilized Hopfield neural networks to tackle the problem of image restoration.
Image enhancement
Contrast enhancement improves the visual quality of an image and enhances image features and thus, makes it more suitable for further processing [30]. Fuzzy sets had been extensively used in image enhancement. Russo and Ramponi [31] used basic fuzzy rules for image enhancement, whose antecedents were related to the neighborhood pixels and the consequents carried information of the pixel to be enhanced. A fuzzy logic-based smoothing was done by Choi and Krishnapuram [32] for image enhancement. Hanmandlu and Jha [33] suggested a fuzzy set-based method, where entropy measure was used as the basic criterion for contrast enhancement. More recently, a fuzzy set-based contrast enhancement technique for low contrast color images was developed by Nair [27].
Image segmentation
It aims to divide an image into some regions, each of which contains some pixels. The pixels present in a region are similar in nature in terms of their properties, such as intensity, color, texture. Two adjacent regions contain the pixels of dissimilar nature. Edge detection is considered as an important step of image segmentation. The principle of soft computing had been used by various researchers to solve the problems of image segmentation.
The concepts of fuzzy clustering and reasoning had been widely utilized in image segmentation [34, 35, 36]. Fuzzy segmentation divides the image into some fuzzy regions. Each pixel may belong to various regions with different membership values. The membership values can be modified using an optimization tool like a GA. Sun and Wang [37] used Fuzzy Gaussian Basis Neural Network (FGBNN) for image segmentation, where fuzzy inference was realized using an NN. Their network consisted of four layers, namely input layer, fuzzification layer, fuzzy inference layer and defuzzification layer. Here, Gaussian basis function was utilized as fuzzy membership function and back-propagation algorithm was used to modify the network during its training. Interested readers may also refer to a review paper of Senthilkumaran and Rajesh [38] for more information. Later on, Verma et al. [39] solved an edge detection problem of an image using a combination of binarization, ant colony optimization and universal law of gravity. A gray scale image was first converted into a binary image. Universal law of gravity was utilized to determine heuristic functions, which could show artificial ants the feasible paths towards the food source. Artificial ants were able to detect the edge pixels. More recently, Zhang et al. [40] converted the problem of image segmentation into a multi-objective optimization one and solved using an evolutionary algorithm. The performance of the developed algorithm was tested on a number of images and satisfactory results were obtained.
Feature extraction
A lot of studies had been carried out on feature extraction by various investigators. Fuzzy sets had been widely used in feature extraction, as it is an efficient tool for handling uncertainty. In this connection, the studies of Pal et al. [41], Mondal et al. [42] are worth mentioning. Neural networks (NNs) were also extensively used for feature extraction of the image. Sharma et al. [43] used self-organizing map (SOM) to extract features through clustering. Moreover, pulse-coupled neural network (PCNN) was utilized by Hoang et al. [44] to extract features from an input image. Those features were compared with the sample vectors present in a template to identify the objects.
Object detection
Several studies had been conducted by various investigators on object recognition using the principles of soft computing. Some of those studies are discussed here. Fuzzy sets had been used by A. Malaviya and P. Malaviya [45] for object recognition, in which an image was converted into a feature space, which was then transformed into a classification space containing information of various objects to be identified. Pham and Chen [46] divided the problem of object recognition into two sub-problems, namely features extraction from a digitized image and features matching with a set of pre-defined objects. They used fuzzy logic for features matching. Broussard et al. [47] developed a technique, in which image processing techniques (such as wavelets, morphological, etc.) were utilized to extract the features and a PCNN was used to fuse the information in order to detect the object. Baareh et al. [48] designed multi-layer feed-forward NNs to recognize 3D objects by using 2D images collected utilizing multiple cameras. A number of features like Affine, Zernike and Hu moments invariants were used to train the NN in order to recognize the 3D objects. Fukushima [49] introduced the concept of deep neural networks (DNN), which works based on deep learning. DNN consists of 6–10 layers of non-linear neurons stacked on the top of one another. The initial weights of DNN are generated at random and then trained iteratively to minimize the classification error. Multi-column DNN (MCDNN) was used by Ciresan et al. [50] on a number of image classification datasets, namely MNIST, NISTSD19, Chinese characters, traffic signs, CIFAR10 and NORB, and its performance was found to be better than the state-of-the-art results.
Interpretation or image understanding
A considerable amount of work had been reported on image understanding using soft computing. A few of those studies are discussed in brief. Grabisch [51] used fuzzy logic for image understanding. He conducted texture recognition using fuzzy integrals and face modeling based on fuzzy rules. Kulkarni and Byars [52] developed a system for image understanding, which consists of two stages. The first stage dealt with image extraction and the second stage was the recognition stage, where ANN trained by back-propagation and competitive learning algorithms was utilized. Yang et al. [53] developed a two-tier ANN framework for medical image understanding. The shape and color features extracted from the images of lung cancer cell were used as inputs to the NNs, and it produced five possible identification results as output. They used multi-layer feed-forward NN trained by back-propagation algorithm. The above studies related to information collection of the environment using camera(s) have been summarized in Table 2.
Summary of the studies related to information collection of the surroundings using camera(s)
Summary of the studies related to information collection of the surroundings using camera(s)
The method of collecting information of the environment with the help of our eyes has been modeled artificially in computer vision or robot vision, which involves a number of steps, as discussed above. Each of these steps has been modeled and analyzed mathematically by various researchers. A huge literature is available on these areas. However, these methods are computationally expensive. Soft computing-based approaches, such as NN- and/or FL-based models were tried in the past to tackle each of the above steps of computer vision. There is always a trade-off between accuracy and computational complexity of the developed approaches. However, maximum information is to be extracted from the image within a fraction of second. The developed NN- and/or FL-based approaches are to be further modified to serve the said purpose. Realizing the difficulties of direct design, attempts will be made to evolve appropriate NN- and FL-based approaches using some evolutionary algorithms in order to solve the problem of robot vision more efficiently, on-line.
Motion planning using soft computing
The aim of motion planning of a robot is to decide its path and course of actions, such that it can obtain the time-optimal and collision-free path during navigation by avoiding collisions with the obstacles. Motion planning is classified into two groups, namely gross motion planning and fine motion planning. The former deals with free-space motion of a robot, whereas the latter concentrates on compliant motion. A huge literature is available in each of the above motion planning schemes. However, for simplicity, in this write-up, attention is paid on the gross motion planning of robots only. It is to be noted that motion planning includes manipulation problems of the manipulators and navigation problems of the mobile robots. There exist a large number of algorithmic approaches, which include both graph-based and analytical approaches to tackle motion planning problems of robots, namely visibility graph, Voronoi diagram, cell-decomposition method, tangent graph, path velocity decomposition, potential field approach, reactive control strategy, and others [54]. However, these approaches have the following drawbacks:
Algorithmic approaches are generally computationally expensive, and hence, cannot be used for on-line implementations. These algorithms may not be versatile enough for solving different types of problems. The robot may not obtain optimal path, as there is no in-built optimization module in these algorithms.
Therefore, more efficient, versatile and computationally tractable algorithms are yet to be developed for solving the motion planning problems of the robots.
During manipulation or navigation, an intelligent robot will have to gather information of the environment using sensor(s) and/or camera(s). The collected data are generally imprecise in nature. As a fuzzy logic technique can handle imprecision and uncertainty, it is a natural choice for solving motion planning problems of robots.
There exist various forms of fuzzy reasoning tool, and out of which, Mamdani approach [55] and Takagi and Sugeno’s approach [56] could achieve the popularity. For a more detailed description of these approaches, one may refer to Pratihar [9].
A huge literature is available on applications of FL-based approaches in robot motion planning. Some of those studies are discussed here, in brief. The problem of obstacle avoidance was tackled using a fuzzy reasoning tool. The robot collected information of the environment using CCD camera mounted at its top, and it was utilized as inputs to the fuzzy reasoning tool. The outputs of the fuzzy logic controller could decide the commands for the speed control system of the left and right wheels for avoiding collision with the obstacle [57]. A few other studies were also reported on applications of FL for obstacle avoidance [58, 59]. A navigation scheme was proposed by Beom and Cho [60] for a mobile robot navigating in uncertain environment. Motion planning algorithm was developed for two behaviors, namely obstacle avoidance and goal-seeking. The robot collected information of the environment using ultrasonic sensors and three inputs, namely distance between the robot and obstacle, that between the robot and goal, and angle of obstacle were calculated. The FL-based motion planner developed according to Mamdani approach could determine two outputs, such as incremental steering angle and velocity of robot. Rule base of the fuzzy reasoning tool was tuned using reinforcement learning. Lilly [61] developed a fuzzy logic-based controller consisting of nine positive and negative rules each for obstacle avoidance of an autonomous vehicle. The positive rules were designed by an expert a priori and the negative ones were evolved using an evolutionary algorithm. The inputs of the positive rules were target direction and target distance, and that of the negative ones were obstacle direction and obstacle distance. For both the positive and negative rules, steering direction was considered as the output. The performance of the developed algorithm was found to be good on computer simulations. Chao et al. [62] implemented a stereo-vision system using two CCD cameras mounted at the top of a robot in order to collect information of the environment. The image was analyzed to gather information of the target and obstacles present in the surroundings. A two inputs and one output fuzzy reasoning tool was developed to avoid collision of the robot with the obstacles. At a particular instant of time, the angle between the robot and the target, and its variation were taken as the inputs of fuzzy reasoning tool. The difference in velocity commands of the two wheels of the robot was considered as the output of the controller. The developed algorithm was found to perform well for solving navigation problem of the robot in the presence of some static obstacles. Sabo and Cohen [63] solved motion planning problem of an unmanned aerial vehicle (UAV) in dynamic environment using fuzzy logic technique. Information about obstacles and target location were taken as inputs to the fuzzy reasoning tool, and speed and the change in heading angle were considered as outputs.
Flowchart of the genetic-fuzzy/genetic-neural system.
The performance of fuzzy reasoning tool is dependent on its knowledge base (KB), which comprises of data base (DB) and rule base (RB). Attempts were made to obtain optimized KB of the fuzzy reasoning tool using a genetic algorithm (GA), and consequently, genetic-fuzzy system was developed [64]. Figure 1 displays the schematic view of a genetic-fuzzy system. The performance of the developed genetic-fuzzy system was verified through computer simulations on navigation problems of a mobile robot among some moving obstacles. Later on, the effectiveness of this approach was further tested on a two-wheeled differential drive robot, and good performance was obtained [65, 66]. The genetic-fuzzy approach was further modified by Pratihar and Bibel [67] and applied for planning time-optimal, collision-free paths for multiple coordinating mobile robots. FL-based motion planners were developed by Algabri et al. [68] for navigation and control of a mobile robot in dynamic environment. Four approaches, such as manually constructed FL, GA-tuned FL, FL with neural network and PSO-tuned FL had been designed and their performances were compared on Khepera-III mobile robot. The GA-tuned FL was found to perform better than other approaches in most of the test cases in terms of travelling time.
More recently, Fathinezhad et al. [69] proposed Supervised Fuzzy Sarsa Learning (SFSL) by combining the merits of both supervised and reinforcement learning algorithms for robot navigation. A zero-order Takagi-Sugeno fuzzy reasoning tool was used as the main module of the robot’s controller. Training data were collected by driving the robot in an environment by a human supervisor, which were then utilized to initialize the candidate action for each fuzzy rule. The control actions of the rules were further tuned using the SFSL. The proposed algorithm was tested for driving the robot in the environment containing some static obstacles. It could decrease the learning time and number of failures during the navigation. However, their algorithm was not tested for the mobile robot navigation in a dynamic environment containing moving obstacles. More recently, a hybrid fuzzy (H-fuzzy) architecture was developed by Pandey et al. [70] for collision-free navigation of a mobile robot in both static and dynamic environments. In their study, Takagi-Sugeno type and Mamdani type of fuzzy reasoning were combined to ensure collision-free movement of the robot in order to reach its goal. Obstacles’ distances collected from a group of sensors were used as the inputs to the Takagi-Sugeno type fuzzy reasoning tool and it determined the turning angle of the robot as output. Mamdani type fuzzy reasoning tool was combined with the Takagi-Sugeno type in order to control the motors’ velocities of the robot. The performance of the proposed architecture was successfully tested in computer simulations and real experiments using a wheeled mobile robot.
Although attempts were made to design and develop suitable KB for the fuzzy reasoning tool, there is a chance of further improvement. In place of direct design, the KB will be evolved on-line using an evolutionary algorithm with the help of some training scenarios.
As the number of variables of a problem increases, that of features and rules will also increase. Thus, it becomes difficult to tackle motion planning problems of robots involving a large number of variables using FL-based approaches. However, neural network (NN)-based approaches could solve these problems efficiently involving a large number of variables. A huge literature is available on robot motion planning using NNs, and only a few of those studies are discussed below.
Chan et al. [71] used an NN-based approach to ensure collision-free motion of a convex object moving on 2-D plane in the presence of some obstacles. The motion planning problem was divided into two sub-problems, namely find-space and find-path problems. The find-space problem dealt with determining the configuration space of the planning object and some obstacles, and find-path problem aimed to determine a collision-free path for the object moving among the obstacles. The find-space problem was tackled using a feed-forward neural network (FFNN) and the find-path problem was solved utilizing a bi-directional associative memory (BAM). Yang and Meng [72] developed a biologically inspired NN-based motion planner, which could determine collision-free path on-line for a point mobile robot and a manipulator separately in dynamic environments. Their algorithm did not suffer from the local minima problem. However, the performance of their algorithm was not tested on a real mobile robot having physical dimensions. Later on, NN-based motion planner was developed by Hui and Pratihar [66], whose performance was tested on a two-wheeled differential drive robot and satisfactory results were obtained. Parhi and Singh [73] proposed an NN-based controller for the navigation of mobile robots in both static and dynamic environments. There were four inputs, such as the distances of left, front and right obstacles and target angle, and one output, namely steering angle of the neural network. A back-propagation algorithm was used to train the network. The performance of the developed motion planner was tested through both computer simulations and real experiments, and a good agreement was obtained between them. The architecture of the network has a significant effect on its performance, which was not studied in their work. More recently, Chen et al. [74] developed motion planning algorithm based on RBFNN for autonomous vehicle moving in unstructured environment and satisfactory performance was obtained through both computer simulations and real experiments.
Schematic view of a neuro-fuzzy system (Mamdani Approach).
Both NN- and FL-based approaches had been widely used for solving navigation problems of mobile robots. However, both of these tools have inherent limitations. In order to overcome their limitations and avail their merits, these tools were combined in the form of neuro-fuzzy systems, which had been utilized by various investigators to solve the navigation problems of robots. Some of those studies are discussed below.
Li et al. [75] designed a neuro-fuzzy system for implementing behavior-based control of a mobile robot navigating in un-structured environments. To gather information of the environment, an NN was utilized. A complex task was divided into a number of basic behaviors, and each behavior was represented using the concepts of fuzzy sets and rules. The conflicts and competition among multiple behaviors were modeled using fuzzy reasoning. Topalov et al. [76] developed a method for navigation of a wheeled mobile robot in a partially known environment. NN-based motion planner could determine the collision-free path and FL-based navigation strategy was used, when the robot faces any unexpected obstacle. Acosta et al. [77] suggested a neuro-fuzzy technique, in which KB of the fuzzy reasoning tool was determined by utilizing an NN. The technique was used to ensure collision-free steering of a mobile robot to its target. Hui et al. [78] could develop navigation scheme for a car-like mobile robot utilizing a neuro-fuzzy system based on Mamdani approach (refer to Fig. 2) in order to ensure time-optimal and collision-free path in the presence of some moving obstacles. A good performance of the developed algorithm was obtained through both computer simulations and real experiments.
A combined neuro-genetic-fuzzy technique was designed by Khelchandra et al. [79] to solve path planning problem of a mobile robot in static environment. An ANN was used to select a suitable path for the mobile robot out of a set of feasible paths. FL was utilized to ensure collision-free path among the static obstacles. A GA was used as an optimizer to select the good rules for the FL system from a set of large rule base to find collision-free optimal path. Thus, a computationally efficient technique was developed by eliminating their inherent limitations in order to determine collision-free path of a mobile robot moving among static obstacles. Kim and Chwa [80] proposed an interval type-2 fuzzy neural network for a wheeled mobile robot in order to avoid obstacle by reducing oscillation behavior during navigation. Its performance was found to be satisfactory through both computer simulations as well as real experiments. More recently, Pothal and Parhi [81] designed an adaptive neuro-fuzzy inference system (ANFIS) to tackle navigation problem of multiple mobile robots in a highly clutter terrains.
Motion planning using genetic-neural system
Realizing the fact that learning could have significant influence on the rate of evolution, some investigators tried to merge an artificial learning tool (say NN) with an artificial evolution technique (say GA) to evolve a suitable motion planner for the robot. As a result of which, a new field named evolutionary robotics could emerge. A lot of studies had been reported in evolutionary robotics and their detailed information was provided by Pratihar [82]. In those studies, inputs of the NN were collected using sensor(s) and/or camera(s), and the outputs of the network were implemented through the motors. The topology and optimal values of NN-parameters were evolved using a GA. The schematic view of a genetic-neural system is shown in Fig. 1. Evolutionary robotics could receive much attention of the researchers. In this connection, the studies of Floreano and Mondada [83, 84], Miglino et al. [85], Lund and Miglino [86], Nolfi et al. [87], Hui and Pratihar [66] are worth-mentioning. As the GA is computationally expensive, it could not be implemented on-line. Therefore, the motion planner was evolved off-line, and it was then uploaded to the real robot for testing its performance.
The performance of an NN depends on its architecture, connecting weights, coefficients of transfer functions, and others. More attempts will be made in future to evolve a suitable NN using a GA in place of its direct design. Table 3 provides a summary of the above studies related to robot motion planning using the principle of soft computing.
Summary of the studies related to motion planning using soft computing
Summary of the studies related to motion planning using soft computing
Traditional methods of robot motion planning have their inherent limitations, as discussed above. Both FL- and NN-based motion planners had been developed for the robots by a number of researchers. However, these motion planners are to be adaptive in nature to tackle the navigation problems in a dynamic environment more efficiently. Moreover, the algorithm is to be fast enough to make it suitable for on-line implementations. In order to fulfill the above requirements, suitable FL- or NN-based motion planners are to be evolved using an evolutionary algorithm. Besides off-line training, the robot should have the provision for on-line training, so that it can interact with the environment to evolve new behaviors in a dynamic environment. Initially, the robot may not perform well, but gradually, it will improve its performance with the number of iterations of the algorithm.
Generation of planned motion using motors controlled by proportional integral derivative (PID) controller
Motors are generally used to provide movement in robotic joint and these are controlled by utilizing a controller like PID. It calculates an error value
where
The principle of soft computing has been used to remove the drawbacks of classical control methods like sliding mode control (SMC), model reference adaptive control (MRAC), model predictive control (MPC), and others. The classical SMC has a few shortcomings, such chattering, matched and unmatched uncertainties and un-modeled dynamics. Neural networks were used to achieve stability and fast convergence of the controller [96]. Fuzzy logic had also been utilized to improve the performance of sliding mode controller [97, 98]. An extensive review was carried out by Yu and Kaynak [99] on the applications of soft computing in sliding mode control. It is difficult to control real plants having nonlinear and coupled dynamics using classical control methods along with hard computing techniques. Larrea et al. [100] used a multi-objective GA along with a recurrent ANN to decide the control action of the model predictive controller at each sampling time. Both fuzzy reasoning tools and neural networks were used in model-based predictive control of highly non-linear systems by Tatjewski and Lawrynczuk [101]. More recently, an adaptive neuro-fuzzy inference system (ANFIS)-based MRAC strategies have been developed by Pathak and Adhyaru [102] to control a system with partially unknown dynamics. The above studies have been summarized in Table 4.
Summary of the studies related to motor’s control using PID controller
FL- or NN-based adaptive motor controllers could perform better than that having fixed gain values. The FL- or NN-based approach will model the system dynamics, whose outputs will be nothing but the gain values of the PID controller. The gain values of the controller will be adjusted in an adaptive way to ensure error-free movement in a closed loop control system. Moreover, soft computing has been coupled with the classical control methods like SMC, MRAC, MPC, and others to remove their drawbacks and achieve stability and fast convergence. The performance of FL- or NN-based controller depends on its knowledge base, which is to be either tuned or evolved properly. Although a few studies were made in this direction, there is a chance for further improvement of the performances of these approaches.
Summary and scopes for further research
After providing a brief introduction to intelligent autonomous robots and soft computing techniques, a thorough literature review was conducted on multi-sensor data fusion, computer/robot vision, robot motion planning and development of adaptive controllers. In this paper, soft computing-based studies on the above areas have been discussed. Soft computing-based approaches may provide more efficient solutions in each of the above areas, in order to design and develop intelligent robots capable of taking the decisions on-line, on varying situations. Both fuzzy logic- and neural networks-based approaches were studied by various researchers for solving the problems related to collection of information of the surroundings, motion planning and its execution during navigation of robots in dynamic environment. However, there are many open research issues, which are to be studied in order to design and develop intelligent autonomous robots. Some of these research issues are discussed below.
Soft computing-based approaches used for extracting information of the environment by utilizing the data collected from sensor(s) and/or camera(s) are to be fast enough for making on-line implementations possible. Moreover, the performances of these approaches are dependent on a number of parameters, which are generally set by the user beforehand. However, these parameters are to be determined on-line in an adaptive way. Therefore, these tools are to be made intelligent by coupling with either a fuzzy reasoning tool or a neural network in order to understand the nature of the data set and accordingly, adjust their parameters.
During navigation in dynamic environment, a robot will have to plan its course of action within a fraction of second, and in order to achieve it, there should have a provision of switching between planning and reactive schemes. Therefore, the course of action taken by the robot could be a combination of planned and reactive actions.
Realizing the fact that it is impossible to directly design the motion planner and controller, attempts were made by several researchers to evolve them by using an evolution tool like GA. However, a GA is computationally expensive, and consequently, it cannot be implemented on-line. Although a few faster GAs are available in the literature [103, 104], these are to be made intelligent enough to understand the problem domain and thus, increase the search speed.
In most of the reported studies, motion planner and/or controller had been trained using some learning tools (say GA, and others) off-line with the help of training scenarios. Once trained, these are uploaded to the real robot for testing the performance. However, besides off-line training, there must be a provision for on-line training, in which the robot will learn from its success and failure during navigation. Thus, a combination of off-line and on-line training will help to improve its performance. Initially, the robot may not perform well, but gradually it may improve its performance during navigation.
Both fuzzy logic- and neural networks-based approaches are found to have significant role in information collection of the surroundings, motion planning and its execution during navigation of the robot in dynamic environment. However, the performances of these approaches are dependent on their knowledge base. Realizing the fact that it is difficult to directly design the knowledge base, some attempts have already been made to evolve it using some evolutionary algorithms. However, more efficient algorithm is yet to be developed to evolve an appropriate knowledge base for the fuzzy reasoning tool or neural networks.
It is, in fact, a very challenging task to design and develop intelligent autonomous robots. Several attempts had been made by various researchers in different directions, but a lot of research issues are yet to be solved to reach the milestone, that is, to develop real intelligent autonomous robots. In future, real intelligent autonomous robots will be fabricated, which will be able to collect information of the environment, take the decision on-line and execute the motion accordingly to perform the assigned tasks.
