A Method for Path Planning Strategy and Navigation of Service Robot

Abstract This paper presents our work on the development of Path Planning Strategy and Navigation by using ANFIS(Adaptive Neuro-Fuzzy Inference System)controller for a vision-based service robot. The robot will deliver a cup to a recognized customer and a black line as the guiding track for navigating a robot with a single camera. The contribution of this research includes a proposed architecture of ANFIS controller for vision-based service robot integrated with improved face recognition system using PCA, and the algorithm for moving obstacle avoidance. We also propose a path planning algorithm based on Dijkstra's algorithm to obtain the shortest path for robot to move from the starting point to the destination. In order to avoid moving obstacles, we have proposed an algorithm using binaural ultrasonic sensors. The service robot called Srikandi is also equipped with 4 DOF arm and a framework of face recognition system. The proposed path planning strategy and navigation was tested empirically and proved effective.


Introduction
Vison-based service robots have recently made rapid progress to tackle more complex manipulation activities such as, for example, delivering a cup to an identified customer in restaurant environment.
Path planning strategy and navigation is an essential issue in robot and artificial intelligence. Path planning for mobile robot in dynamic environments has been studied extensively in [1] [2], however, vision-based path planning for service robot has not been fully explored. Vision sensor for navigation has good sensing ability and makes robots able to identify and recognize the objects near them. Navigation for mobile robot can be categorized as indoor navigation and outdoor navigation. Indoor navigation can be done with a map or without a map [3]. Navigation using a line for path tracking is one of the solution for dedicated service robot. In doing so, the robot could be implemented to any restaurants that have di erent landmark and environment [4]. However, the previous research [4] uses only a single track and there is no ablity to avoid the obstacles. In this paper, we have made improvement on [4] with proposed Path planning strategy, obstacles avoidance and improved ANFIS controller for indoor navigation without global map which is based on line tracking. Path planning will be used by a service robot to find the shortest path from home to the goal. Dijkstra algorithm can be used for path planning [5][6] [7]. In many research, fuzzy logic and Neural networks can be used for robot's navigation. Fuzzy logic can be used as a controller for robot's navigation * E-mail: widodo@widodo.com † E-mail: santoso@ee.its.ac.id ‡ E-mail: djoko@ee.its.ac.id § E-mail: jazidie@elect-eng.its.ac.id in an unknown but dynamic environment. Li and Yang [8] proposed an obstacle avoidance approach using fuzzy logic, with the input sensors separately inferred. Neural networks are model-free systems that are organized in a way to simulate the cells of a human brain. Neural networks have a self-learning and self-tuning capability, and therefore can be used to model various systems. Therefore, fuzzy logic and neural networks can be combined to solve the complex robot navigation control problem and therefore improve the performance [10].
Certain fuzzy systems are universal function approximators. In order to identify a suitable fuzzy system for a given problem, membership functions (parameters) and a rule base (structure) must be specified. This can be done by prior knowledge, by learning, or by combination of both. If a learning algorithm that uses local information is applied, it will causes local modifications in a fuzzy system, and this approach is usually called neuro-fuzzy system [9]. Anmin Zhu et al. [10] presented a neuro-fuzzy controller for robot navigation, where the robot uses GPS and many distance sensors ( 9 sensors) to obtain the distance from the robot to the obstacle. In this paper, we solved the navigation problem and the problem of sensor limitations using camera presented in section 2, 3 and 4. Section 5 and 6 explain the proposed ANFIS architecture and Face recognition system. Finally, results and discussion from the implementation of the proposed method and algorithms on the service robot Srikandi I, are presented in section 7.

Architecture of vision-based service robot
We have proposed the model of service robot as shown in fig. 1. Because this robot need to deliver a cup using path tracking, to recognizes and tracks people, many supporting functions must be developed and integrated such as face recognition system, path tracking and mov- ing obstacles detection. We have developed e cient Faces database used for face recognition system in order to recognize customer based on PCA. For robot navigation, Face, line, cup and obstacles are used to be processed by the ANFIS controller, then the output is the speed of the left and right motor and action command for the arm robot. There is interface program between Laptop for coordinating robot controller and text to speech controller are more interactive with user.
Robot will detect face and checking whether the face is customer or not using simple faces database program. An ultrasonic sensor used to detect whether a cup has been already loaded to the robot. When the cup is loaded to the robot, the robot starts to go by following the line until it reaches the end of the line and the camera has caught the person's face. When face is detected, arm robot will give the cup to that person with predefined motion, and then robot will return to the home. Binaural ultrasonic sensors [21] is used for detect moving obstacles. If sensors detect obstacles, robot will stop for a moment, then check again if obstacles still exist or no. If obstacles come nearer to robot, the robot will move backward, otherwise the robot will continue moving.
Among the indoor service robots that use camera, and those are able to operate in the environments with humans, and especially those who are able to interact with the customer, have gained high interest in recent years. Visual perception is the ability to interprete the information and surroundings from the e ects of visible light reaching the eye. The resulting perception is also known as eyesight, sight, or vision. Visual or perception-based service robot for customer identification, is an interpretation process to directs a service robot to a destination of identified customer, based on face recognition system. After interpretation of images, the information is then used by the robot to decide on what actions to take, based on the task given by a developer. The basic visual--perception model for a service robot is shown in fig. 2.

Path planning strategy
Path planning problems in various environments have been studied extensively in the last two decades. Some exact algorithms are proposed, but with exponentially increasing complexity [12]. The goal of path planning for robot in a space with obstacles, is to find a collisionfree path of robot from the starting to the target position. There are many approaches based on types of obstacles, dimensionality of the space and restrictions for robot movements. Among the most frequently used ones are roadmap methods (visibility graphs, Voronoi diagrams, rapidly exploring random trees) and the method based on cell decomposition [13][15] [20].
Uniform cost algorithm proposed by Dijkstra is a sequential method that can e ciently compute the optimum path from a reference node to any arbitrary node for a given cost map. For a given source vertex (node) in the graph, the algorithm finds the path with lowest cost (i.e. the shortest path) between that vertex and every other vertex [14].
Let G = (V , E) be a weighted digraph, with weight function ω : E− >R mapping edges to real-valued weights. If e = (u, υ), we write ω(u, υ) for ω(e). The length of a path p = ⟨υ 0 , υ 1 ..., υ k ⟩ is the sum of the weights of its consituent edges: The distance from uto υ, denoted δ(u, υ), is the length of the minimum length path if there is a path from u to υ; and is ∞ otherwise. For example, the minimum path in fig. 4 from a to e (a,b,c,e) is 6.
Because of the ability of Dijkstra`s algorithm to compute the shortest path, we applied it to compute the shortest path from the starting point of robot to the customer table. Fig. 5(a) shows the testing map for robot. P, R and T is customer table. In fig. 5(b), each of customer`s

Back to home
When the robot is running, the robot also checks the obstacles using 2 ultrasonics sensors installed on the left and right side of the robot. In this experiment, the delay 1 second enough for robot to stop and the minimum distance 20cm is enough to avoid collision with the obstacle. The algorithm for detecting moving obstacles is shown below :

Adaptive neuro fuzzy inference system (ANFIS)
Neuro-Fuzzy techniques have emerged from the fusion of neural network (ANN) and Fuzzy Inference System (FIS) and form a popular framework for solving real word problem [16]. Fuzzy Logic Controllers (FLC) has played an important role in the design and enhancement of a vast number of applications. ANFIS are fuzzy Sugeno models put in the framework of adaptive systems to facilitate learning and adaptation. Such framework makes FLC more systematic and less relying on expert knowledge. ANFIS is a fuzzy inference system formulated as a feed-forward neural network. Hence, the advantages of fuzzy system can be combined with a learning algorithm. Let us consider two-fuzzy rules based on a first order Sugeno model to present the ANFIS architecture:

Rule 1 :
If x is A 1 and y is B 1 then ANFIS architecture to implement these two rules is shown in Fig. 6. Note that a circle indicates a fixed node whereas a square indicates an adaptive node (the parameters are changed during training).
Layer 1: All the nodes in this layer are adaptive nodes, i is the degree of the membership of the input to the fuzzy membership function (MF) represented by the node : A i and B i can be any appropriate fuzzy sets in parameter form. For example, if bell MF is used then : Figure 6. ANFIS architecture using 2 input x and y [15].
Where a i , b i and c i are the parameters for the MF.
Layer 2: The nodes in this layer are fixed (not adaptive). These re labeled M to indicate that they play the role of a simple multiplier. The outputs of these nodes ar e given by: The output of each node in this layer represents the firing strength of the rule.
Layer 3: Nodes in this layer are also fixed nodes. These are labeled N to indicate that these perform a normalization of the firing strength from previous layer. The output of each node in this layer is given by : Layer 4 : All the nodes in this layer are adaptive nodes. The output of each node is simply the product of the normalized firing strength and a first order polynomial : Where pi, qi and ri are design parameters (consequent parameter since they deal with the then-part of the fuzzy rule).
Layer 5: This layer has only one node labelled S to performs a simple summer. The output of this single node is given by : The ANFIS architecture is not unique. Some layers can be combined and still produce the same output. In this ANFIS architecture, there are two adaptive layers. Layer 1 has three modifiable parameters (ai, bi and ci) pertaining to the input MFs [16] [17]. These parameters are called premise parameters. Layer 4 has also three modifiable parameters (pi, qi and ri) pertaining to the first order polynomial. These parameters are called consequent parameters. The task of training algorithm for this architecture is tuning all the modifiable parameters to make the ANFIS output match the training data [18]. Based on the hybrid learning algorithm proposed by Jang, Sun and Mizutani [17] which uses a combination of Steepest Descent and Least Squares Estimation (LSE), if the premise parameters are fixed the output is linear in the consequent parameters. So, the hybrid learning algorithm uses a combination of steepest descent and least squares to adapt the parameters in the adaptive network. Fig. 7 is proposed ANFIS architecture for service robot. We give training data for ANFIS controller using mapping method. We designed 4 input for service robot; w for obstacle avoidance, x for robot position, y for face recognition and z for cup status. The training data contain 48 possible input (x,y,z) and appropriate output (velocity of right motor V R , velocity of left motor V L , action of 4DOF Arm robot). We only create 16 rules where each rule consist of 3 training data. Morphological operation (erosion followed by dilation) is applied to original image to eliminate noises. Then, we determine threshold value for black color as path on the floor. Final image includes the information about the center position, and detected position issued as an input test data for controller. Fig. 7 is an architecture of ANFIS controller with 4 input and 3 output for controlling speed of motors and arm robot.

ANFIS controller for navigation
We created rules for controller shown at Table 1. These rules determined how robot behaves. Target seeking is an action taken by the robot to keep running until it found the end line.

A framework for face recognition
We have developed a framework of Face recognition system for visionbased service robot and face database named ITS Face database. This framework is very usefull as a information for robot to identify a customer and what items are ordered by a customer. The single camera used in this research is 640x480 pixels. The size of face image is cropped to 92x112pixels using Region of Interest method (ROI) as shown in figure below. These images also used as training images for face recognition system. We use histogram equalization for contrast adjustment using the image's histogram. This method usually increases the global contrast of many images, especially when the usable data of the image is represented by close contrast values. Histogram equalization accomplishes this by e ectively spreading out the most frequent intensity values.
For illumination variation modelling, we construct images under di erent illumination conditions by generate a random value for brightness level using this formula : Where I o is intensity value after brightness operation applied, I i is intensity value before brightness operation and c is brightness level.
First, to store training faces of customers and items/products ordered, we have proposed a database that consists of a table customers, products, orders, Service_robot and order detail : Each of face databases used in this experiment consists of 10 sets of people's face show in fig. 10. ITS face database consists of 3 poses (front, left, right ) and varied with illumination. ATT face database consists of 9 di erential facial expression and small occlusion (by glass) without variation of illumination. The Indian face database consists of eleven pose orientation without variation of illumination and the size of each image is too small than ITS and ATT face database.
The training process involved input images as training images and the result then stored in .xml file, which contain information of the name of customers, items ordered, and faces description will be used for testing phase. The training images stored in database can be view as shown in figure below :

Result and discussions
Path planning strategy based on Dijkstra`s algorithm and ANFIS controller has been tested for navigating service robot to delivers a cup in a lab as simulation of indoor environment. Obstacles detection is done with 2 ultrasonic sensors. They determine the distance to the obstacle by measuring the time of fly from ultrasonic pulse. Periodically, information received by the sensors is used to detect obstacles. Face recognition based on eigenspaces can be used and databases for the images are developed. Fig. 10 shows a setup of experiment for this research. Fig. 13 is a result for customer identification to direct a robot to the position of customer's table. Program succesfully identified a customer and his order using our proposed face recognition system.
We also evaluate the result of our proposed face recognition system and compared with ATT and Indian face database using Face Recognition Evaluator developed by Matlab. The success rate or accuracy comparison between 3 face database shown below: Line sensor succesfully detects track and controller produced output with expected response. Robot position gained by reading line track on the landmark that separate into 5 region as shown in fig. 15. This region is used to adjust motor's speed. Each region has pixel range to    indicate robot's position. After camera has detected line and obtaining robot's position, the images was used as an input to ANFIS controller to be processed. Fig. 15 also displays the track and the center position (indicated by yellow circle) as reference, and the robot's position for input data to controller.
Original images are then procesed using morphological operation (dilation, erosion and smoothing) for reducing the noises and then we got the region of interest as shown at Figure 16 using OpenCV.
Robot automatically runs when a cup is loaded to the robot, after that camera detects the line to give information to the robot about its position. We have developed program for ANFIS controller using C++ based on Adaptive Neuro Approximation method [19]. The testing data and prediction shown below indicated that the controller able to predict correctly.
Based on results that displayed using GnuPlot, after training process, we got the best error after epoch 62 as shown in Fig. 18.

Conclusions
This paper introduces a new method for Path planning and navigation of vision-based service robot. Path planning strategy using Dijkstra algorithm can be used for obtaining shortest path. ANFIS controller for navigation of robot is proposed and is implemented. ANFIS controller can be used as controller which only uses 16 rules and epoch requried for training the controller very small (62 epochs), so this system is very powerfull for service robot. camera can be used for face recognition and line sensor in service robot. For future work, we will implement a vision-based navigation and obstacles avoidance in dynamic environment using stereo vision.