A Mobile Robot Solving a Virtual Maze Environment

Similar documents
Development of a Sensor-Based Approach for Local Minima Recovery in Unknown Environments

A Reactive Collision Avoidance Approach for Mobile Robot in Dynamic Environments

A Three-Tier Communication and Control Structure for the Distributed Simulation of an Automated Highway System *

Randomized Motion Planning for Groups of Nonholonomic Robots

Fuzzy-Heuristic Robot Navigation in a Simulated Environment

MULTI-LAYERED HYBRID ARCHITECTURE TO SOLVE COMPLEX TASKS OF AN AUTONOMOUS MOBILE ROBOT

MESA Cyber Robot Challenge: Robot Controller Guide

An Improved Path Planning Method Based on Artificial Potential Field for a Mobile Robot

Autonomous navigation with deadlock detection and avoidance

Multi-Robot Cooperative System For Object Detection

AGENT PLATFORM FOR ROBOT CONTROL IN REAL-TIME DYNAMIC ENVIRONMENTS. Nuno Sousa Eugénio Oliveira

due Thursday 10/14 at 11pm (Part 1 appears in a separate document. Both parts have the same submission deadline.)

NAVIGATION OF MOBILE ROBOT USING THE PSO PARTICLE SWARM OPTIMIZATION

Collaborative Robotic Navigation Using EZ-Robots

Lab 7: Introduction to Webots and Sensor Modeling

Obstacle Displacement Prediction for Robot Motion Planning and Velocity Changes

CYCLIC GENETIC ALGORITHMS FOR EVOLVING MULTI-LOOP CONTROL PROGRAMS

Obstacle avoidance based on fuzzy logic method for mobile robots in Cluttered Environment

Evolving CAM-Brain to control a mobile robot

Evolved Neurodynamics for Robot Control

Overview. The Game Idea

STRATEGO EXPERT SYSTEM SHELL

Fuzzy Logic Based Robot Navigation In Uncertain Environments By Multisensor Integration

Robot Programming Manual

Path Planning for Mobile Robots Based on Hybrid Architecture Platform

Key-Words: - Neural Networks, Cerebellum, Cerebellar Model Articulation Controller (CMAC), Auto-pilot

Robotics using Lego Mindstorms EV3 (Intermediate)

understanding sensors

M ous experience and knowledge to aid problem solving

Hybrid Neuro-Fuzzy System for Mobile Robot Reactive Navigation

Behaviour-Based Control. IAR Lecture 5 Barbara Webb

Developing Frogger Player Intelligence Using NEAT and a Score Driven Fitness Function

FUZZY LOGIC BASED NAVIGATION SAFETY SYSTEM FOR A REMOTE CONTROLLED ORTHOPAEDIC ROBOT (OTOROB)

Optimization of Tile Sets for DNA Self- Assembly

USING THE ZELLO VOICE TRAFFIC AND OPERATIONS NETS

Blending Human and Robot Inputs for Sliding Scale Autonomy *

A Novel Hybrid Fuzzy A* Robot Navigation System for Target Pursuit and Obstacle Avoidance

Motion Control of a Three Active Wheeled Mobile Robot and Collision-Free Human Following Navigation in Outdoor Environment

AN ABSTRACT OF THE THESIS OF

Initial Report on Wheelesley: A Robotic Wheelchair System

Calculation on Coverage & connectivity of random deployed wireless sensor network factors using heterogeneous node

An Autonomous Self- Propelled Robot Designed for Obstacle Avoidance and Fire Fighting

Agent-based/Robotics Programming Lab II

Distributed Collaborative Path Planning in Sensor Networks with Multiple Mobile Sensor Nodes

Vishnu Nath. Usage of computer vision and humanoid robotics to create autonomous robots. (Ximea Currera RL04C Camera Kit)

A Three-Tier Communication and Control Structure for the Distributed Simulation of an Automated Highway System *

Potential-Field Based navigation in StarCraft

2.4 Sensorized robots

4D-Particle filter localization for a simulated UAV

A Qualitative Approach to Mobile Robot Navigation Using RFID

Lab book. Exploring Robotics (CORC3303)

Classification of Voltage Sag Using Multi-resolution Analysis and Support Vector Machine

How Do You Make a Program Wait?

ABSTRACT 1. INTRODUCTION

Controlling Robot through SMS with Acknowledging facility

Prof. Emil M. Petriu 17 January 2005 CEG 4392 Computer Systems Design Project (Winter 2005)

Artificial Neural Network based Mobile Robot Navigation

Visuo-Haptic Interface for Teleoperation of Mobile Robot Exploration Tasks

An Experimental Comparison of Path Planning Techniques for Teams of Mobile Robots

Maze Solving Algorithms for Micro Mouse

A maze-solving educational robot with sensors simulated by a pen Thomas Levine and Jason Wright

RF System Design and Analysis Software Enhances RF Architectural Planning

I.1 Smart Machines. Unit Overview:

Real-Time Bilateral Control for an Internet-Based Telerobotic System

Colour Profiling Using Multiple Colour Spaces

LabVIEW Day 2: Other loops, Other graphs

A Probabilistic Method for Planning Collision-free Trajectories of Multiple Mobile Robots

AN AUTONOMOUS SIMULATION BASED SYSTEM FOR ROBOTIC SERVICES IN PARTIALLY KNOWN ENVIRONMENTS

Path Planning And Trajectory Control Of Collaborative Mobile Robots Using Hybrid Control Architecture

Cooperative Explorations with Wirelessly Controlled Robots

Logical Trunked. Radio (LTR) Theory of Operation

Towards Quantification of the need to Cooperate between Robots

PERFORMANCE COMPARISON OF HIGHER RADIX BOOTH MULTIPLIER USING 45nm TECHNOLOGY

Autonomous Wheelchair for Disabled People

Path Planning in Dynamic Environments Using Time Warps. S. Farzan and G. N. DeSouza

A simple embedded stereoscopic vision system for an autonomous rover

VECTOR CONTROL SCHEME FOR INDUCTION MOTOR WITH DIFFERENT CONTROLLERS FOR NEGLECTING THE END EFFECTS IN HEV APPLICATIONS

VISUAL ALGEBRA FOR COLLEGE STUDENTS. Laurie J. Burton Western Oregon University

This study provides models for various components of study: (1) mobile robots with on-board sensors (2) communication, (3) the S-Net (includes computa

UNIVERSIDAD CARLOS III DE MADRID ESCUELA POLITÉCNICA SUPERIOR

Realistic Robot Simulator Nicolas Ward '05 Advisor: Prof. Maxwell

Mobile Robots Exploration and Mapping in 2D

Australian Journal of Basic and Applied Sciences

ISSN: [Pandey * et al., 6(9): September, 2017] Impact Factor: 4.116

Your EdVenture into Robotics 10 Lesson plans

DEVELOPMENT OF A ROBOID COMPONENT FOR PLAYER/STAGE ROBOT SIMULATOR

MLP for Adaptive Postprocessing Block-Coded Images

Evolving High-Dimensional, Adaptive Camera-Based Speed Sensors

Simulation of a mobile robot navigation system

Swarm Intelligence W7: Application of Machine- Learning Techniques to Automatic Control Design and Optimization

Obstacle Avoidance in Collective Robotic Search Using Particle Swarm Optimization

Crowd-steering behaviors Using the Fame Crowd Simulation API to manage crowds Exploring ANT-Op to create more goal-directed crowds

Vision Ques t. Vision Quest. Use the Vision Sensor to drive your robot in Vision Quest!

Learning Reactive Neurocontrollers using Simulated Annealing for Mobile Robots

Chapter 3 Chip Planning

A Novel Fuzzy Neural Network Based Distance Relaying Scheme

WHAT EVERY ADVERTISER NEEDS TO KNOW About Podcast Measurement

CURIE Academy, Summer 2014 Lab 2: Computer Engineering Software Perspective Sign-Off Sheet

A Robust Neural Robot Navigation Using a Combination of Deliberative and Reactive Control Architectures

Path Following and Obstacle Avoidance Fuzzy Controller for Mobile Indoor Robots

Transcription:

F. Y. Annaz / IJECCT 2012, Vol. 2 (2) 1 A Mobile Robot Solving a Virtual Maze Environment Fawaz Y. Annaz University of Nottingham (Malaysia Campus), Department of Electrical & Electronic Engineering, Faculty of Engineering, Jalan Broga, 43500 Semenyih, Malaysia Fawaz.Annaz@nottingham.edu.my Abstract: The aim of this paper is to introduce a new concept in robot-maze solving, that is, the use of virtual maze in examining the performance and efficiency of various types of robots with various onboard algorithms. It is proposed that a mobile robot is to navigate its way in a virtual environment, which exists in a computer-world and is either gradually or fully revealed to the robot via wireless communications. The robot will then use its onboard algorithm to navigate its way through the maze, feeding back its position to the virtual maze. The paper will present a GUI interface that sets up the virtual maze and will explain the virtual maze coordinates system. The robot will use the Modified Wall-Following Navigation algorithm to navigate its way through the virtual maze, according to the revealed surroundings. The paper will then compare Navigation versus simulation, and robot absolute direction and its importance during navigation, as the robot sides vary according to the direction it is facing. The approach adopted here offers a maze-mobile robot real-time merging, with robot performance tracking and rapid (on-the-fly) algorithms development for environments with fixed, variable or random architectures and start-goal points. Therefore, the paper moves away from traditional maze development environments and offers a virtual environment that can be mapped on mobile Robots that can be tested with various on-board maze solving algorithms. Keywords mobile robot; wall-following-algorithm; maze solving, navigation; virtual maze solving I. INTRODUCTION Realistic rescue missions usually start with a search in unknown environments, before reaching regions where trapped victims can be detected. It is also usual for rescuers to discretely report their locations to mission headquarters, as they progress along a certain path, which will (hopefully) lead to the victim s final location. It is also usual for a rescue team to identify and report deadend paths along the initial rescue course, to avoid delays in further support of other fellow rescuers. The aim of this paper is to mimic such rescue missions for different virtual maze architectures. The 2-wheeled e-puck mobile robot (in Figure 1) was used to navigate around randomly generated virtual mazes. Its DS-PIC processor was programmed with various algorithms to solve the mazes. Here, results from the modified wall-touching algorithm will be presented. Discrete new robot surroundings (left, right and ahead) and new robot position updates were achieved through wireless Bluetooth communication. Although the e-puck comes with a large number of onboard sensors, these were not used, and only certain LED sequence switching was used to indicate completion of certain operations during testing. II. Figure 1. The 2-wheeled e-puck mobile robot TRADITIONAL VERSUS VIRTUAL MAZES Autonomous robots are designed to discretely discover and interpret their surroundings and they are expected to orient themselves around obstacles to reach a target from an initial position, this is what is referred to as path planning. In real-time autonomous navigation, path planning becomes more challenging in an unknowndynamically-changing environment [1, 2]. One such environment is the problem that we are trying to solve, that is rescue mission scenario. Many maze solving algorithms have been developed for robots with varied success and efficiency levels, depending on the maze architecture and the way information is revealed about the maze and the goal location. Some of the online approaches in autonomous robots, includes: wall following method [3]; potential field methods [4,5]; virtual target approach [6,7]; landmark learning [8]; edge detection and graph-based methods [9]; vector field histogram methods, dynamic window approaches, neural network based methods, and fuzzy logic methods [10~15] and many others. Regardless of the solving algorithm, traditionally, the common steps have been to physically develop and build the maze, and then robots are programmed or trained to navigate their way to reach the final goal. Such mazes have to be substantially rugged to survive the repeated tests, hence, they are naturally expected to be heavy, difficult to move around, and occupy unnecessary space (when not in use). A further drawback in this approach is

F. Y. Annaz / IJECCT 2012, Vol. 2 (2) 2 that, a maze has to be reconstructed or modified to meet new architectures, which could be both costly and time consuming. Furthermore, it is also possible that in the course of training or the testing of new algorithms robots might experience physical damage when erroneously and frequently collide with obstacles or walls. A virtual maze environment approach does not suffer from any of the above disadvantages. It has a high degree of portability and can be implemented in any open space. It permits unlimited in-depth algorithm performance assessment, and can be effectively and efficiently modified to architectures with various degrees of complexity, including those mimicking real rescue missions. This approach, clearly, offers real-time-merging and robot-performance-tracking, with on the fly different algorithms testing in fixed, variable (edited) or random environments with fixed or variable start-goal points. Table 1. GUI Buttons, their icons and descriptions Table 2. GUI Frames and Text boxes, with their icons and descriptions Figure 2. The Virtual Maze Development GUI III. THE VIRTUAL MAZE ENVIRONMENT Figure 2 shows what is referred to as the Amazing Maze 2.1, which is a GUI environment that was developed in Visual Basic, allowing users to (manually or randomly) generate mazes with initial robot and final goal locations. Users may create, load and edit (by either modifying the paths or introducing new start and goal locations) mazes. Users may also save mazes before and after have being solved, hence enabling the assessment of algorithm efficiency and robot performance tracking. The GUI was also developed to enable communications with one or more robots to discretely reveal (to the robot) its current surroundings and update the robot current position onto virtual maze. The current GUI hosts command buttons, frames, labels and text boxes for different functionalities and to display time and other information, as listed in Tables 1 and 2. The user can also create mazes of different sizes (a minimum of 9x9), however, and as an example, a 21x21 maze will be used to explain the development. This maze is made up of 441 cells or arrays of small pictures that are arranged from 0 to 440, as shown in Figure 3. Figure 3. Maze Area coding To distinguish between the different five types of objects (Path, Wall, Border, start-point, and Stop-point) that will be placed in a cell; each object is given a numerical value to identify the images associated with objects, as shown in Table 3. By default, all cells are initially assumed to be paths in the maze area, and are assigned 0. However, if a cell is to contain an object other than a Path, the appropriate number is assigned. For

F. Y. Annaz / IJECCT 2012, Vol. 2 (2) 3 example, if a cell is to contain a Wall-image, then a 1 is assigned to it. Similarly, a cell containing a start-pointimage will have 3 assigned to it, and so on. Table 3. Numeric values corresponding objects in a path Object Numeric Value Empty Path 0 Wall 1 Border 2 Start point 3 Finish point 4 (DFS) Algorithm [16], the Prim's Algorithm [17] and the Kruskal's Algorithm [18]. Random maze generation allows the user to test various navigation algorithms on a wide range of mazes generated on specific principles. This numbering assignment scheme is used during maze construction and editing. It is also used by the robot to learn about its immediate (left, front, and right) surroundings and use this information to navigate its way around the maze. In fact, surroundings will be translated by the robot as passable, impassable or finish-point to solve the virtual maze. (a) Figure 4. Unsolved Mazes (Isolated start and/or the finish points) IV. NAVIGATION Navigation is the process where the robot navigates its way through the virtual maze using the revealed maze surroundings. The main algorithms that were implemented include; the Modified Wall-Following (Left & Right), Pledge and Tremaux algorithms, however, only the Modified Wall-Following will be presented here. When the modified Wall-Following-Algorithms (Left & Right) were implemented, the robot was programmed to follow the wall of the maze until the target or finish-point is reached. Clearly, this approach is disadvantageous since if either the start or the finish points were isolated (in which case the target can never be reached), continuous looping will be inevitable as shown in Figure 4. In the Left-Wall-Following, the order in movements priority is to Turn Left, Move Forward, Move Right, and last option is to Turn Back. This means that if there is an available path to the Left of the robot, then the robot should take it. If the left is blocked and there is a path in front, then the robot should move forward. If the move forward option is also unavailable, then the robot should turn right. Otherwise the robot has reached a dead end and must turn back. In the Right-Wall-Following, the order in priority movements is: Turn Right, Move Forward, Move Left, and the last option are to Turn Back. To test such algorithms random maze generation is also possible, where the GUI utilises three of the most common graph theory algorithms, that is, the Depth-First Search (b) Figure 5. Examples of Maze solving Using Navigation V. NAVIGATIONS VERSUS SIMULATION In addition to maze creation and robot programming, the GUI was also designed to simulate, test and evaluate algorithms before downloading them to the robot, which is achieved by clicking the simulate button. The only difference between Navigation and Simulation is that in Navigation-mode, (Figure 5), the solution is achieved by: the GUI reveals the surrounding to the robot, the robot navigates its way through the maze, and then the robot updates the maze with its new position, where all updates are achieved through wireless communications. In Simulation-mode, (Figure 6), the virtual maze is solved onboard (without the need for communicating the updates), hence, allowing for algorithm development and algorithm efficiency evaluation. It is important to appreciate that navigation might introduce errors that are inherent and related to the type of

F. Y. Annaz / IJECCT 2012, Vol. 2 (2) 4 mechanism used in driving the robot. For example, 2- wheeled robots driving mechanism dictate that the robot often hits the surface it is moving on, as it sways forward and backward. Furthermore, it was difficult to achieve friction/slip free turning manoeuvres, which results in introducing errors in following the correct solution paths. In 3-wheeled robots, the driving mechanism dictates that only two wheels rotate to produce forward motion (hence resulting in dragging the back wheel), which again results in position error. prevent multiple connections, this button is disabled after establishing connection, and it will only be enabled if the connection is lost. Figure 7. Wireless communication in the GUI VII. BUILDING THE ROBOT-MAZE COORDINATE SYSTEM Figure 8 shows a sample virtual maze that was generated in the GUI, with the robot initial starting point (bottom right hand corner, marked as S ; its path, shown as a solid line; its current position, marked with a circled arrow that depicts the robot current facing direction; its adjacent grids, marked as F, L, and R, indicating locations to its Front, Left and Right; and finally the finishing or goal point, marked as G. (a) (b) Figure 6. Example of Maze Solving Using Simulation Figure 8. Maze with shaded Proximity region VI. WIRELESS COMMUNICATION Wireless communication is essential in revealing the surroundings to the robot and in updating the robot position on the virtual maze. Wireless communication is established through the Connect button. This effectively connects the GUI with one or more robots by using Bluetooth or wireless communication, where an IP and a port number are required in the latter, (Figure 7). For a client to be able to connect to a server, the client must first find the server, which has already set a port to listen for connection. When the correct IP and port number are inserted on the GUI, connection can be established. To (a) (b) Figure 9. Path Coordinates construction To navigate the maze, two main processes take place, the first is computer based and the second is mobile robot

F. Y. Annaz / IJECCT 2012, Vol. 2 (2) 5 based. The computer discretely reveals the F, L, and R locations to the robot, the robot then decides on the next move (using its own algorithm) and then it updates the computer with its new location, and the cycle repeats until the goal is reached. Here, it is important to note that the adjacent grids to the robot (F, L and R) are based on the direction the robot faces, however, the robot is never given position coordinates since it is intended that the robot constructs and memorizes its own coordinate system with respect to the initial deployment position. Here, the robot position is traced on the virtual maze, as the robot transmits information about its position and heading. Building a coordinate system within the mobile robot is crucial in calculating minimal paths and in eliminating redundant paths and loops. The robot considers its deployment point as its origin having the sole x-y coordinates 2020 (instead of a 00 origin) for a 20x20 maze. This is done for the exclusive purpose of maintaining positive grid numbering to allow for larger addressing range. The x-y coordinates are built in to a composite number as shown in Figure 9a with respect to the starting position (2020). These numbers are stored as step information and will be later on used to compute minimal paths and to navigate other support robots. Figure 9b depicts the movement of the robot by starting at an unknown grid (designating 2020 as its start point) and then the robot moves north, hence storing its next positions as grid points, such as 2019 and 2018. At 2018, the robot travels East, and then it turns Left (North) at 2218. It should be noted that grid numbering is not related to the numberings used in the virtual maze programme. The robot determines its new position considering its current facing direction as well as its last movement. The robot has the following four primary steps that dictate its movements: Move Forward, Left, Right and Back (180 0 turn and step forward). The robot records its last movement in a buffer for later references that involves step storing. VIII. ABSOLUTE DIRECTION The robot needs to know the content of its four surrounding cells, that is, the content of the cell to its left, right, and ahead, in addition to prior knowledge of the previously revealed or stepped on cell (now the rear-cell). Therefore, during navigation, the robot sides vary according to the direction it is facing, hence it is important that the robot continuously updates the virtual environment of its direction so that the correct new surroundings are revealed to it. Figure 10 shows the four different possibilities the robot could be facing. Although North is the default facing direction, the user could initially change that by selecting the appropriate direction in the Initial-Facing-Direction-Frame, shown in Table 2. To determine the surrounding cells, a simple mathematical addition and subtraction may be concluded when Figure 11 (showing a random portion of cells in the maze) is considered. Assume that the robot is on cell 177 and is facing North (i.e. N 177 ), then the immediate cells next to its Left, Right, Front and Back are L 176, F 156, R 178 and B 198. If the robot were to make a decision to turn right, then it would be facing East and is now on cell 178, E 178. Then its new immediate cells are L 157, F 179, R 199 and B 177. Figure 10. Robot Direction and Corresponding Surroundings Assuming R b to be an arbitrary robot position, the immediate surrounding cells for any manoeuvre may be concluded as shown in Table 4. Table 4. Robot Surrounding-Facing-Direction Relationship The surroundings information is stored and continuously updated as the robot navigates the maze. On start up, the robot first receives a string of 5 integers (a 1, a 2, a 3, a 4, and a 5 ) transmitted as a 1 a 2 a 3 a 4 a 5. where: a 1 determines the maze solving algorithm. For example, 0 represents the Modified-Left-Wall-Touching (MLWT) Algorithm; 1 represents the Modified-Right- Wall-Touching (MRWT); 2 represents the Modified- Pledge-Navigation (MPN) Algorithm; 3 represents the Modified-Tremaux-Navigation (MTN) algorithm. a 2, a 3, a 4, and a 5 give maze surroundings information, starting from the second digit: Left, Front, Right, and Back data respectively. Figure 11. Random Cells Therefore, if the robot receives the string 10141, the robot would be using the Modified-Right-Wall-Touching algorithm, and the robot would see a Path to its Left, a Wall in Front, a finish point on its Right, and a Wall at the Back.

F. Y. Annaz / IJECCT 2012, Vol. 2 (2) 6 Table 5. Robot Manoeuvre Decision Once the information is received, the robot will react according to the onboard programmed solving algorithm, and update its new position on the virtual maze. Then the next set of maze surroundings information is revealed again, and the process keeps on repeating until the maze is solved. The response that the robot feeds back is a string that describes its decision, as shown in Table 5. The virtual Maze updates the robot position along its prior and current orientation, so that the next set of maze surroundings information is correctly transmitted to the robot. The robot always stores its movement information to generate path coordinates maps to calculate the shortest path. This information is then transmitted to the control centre and will be relayed to other support robots, which mimic further assisting rescuers. Figure 12 shows a solved maze using the modified-leftwall-following algorithm for primary navigation. The robot starts its journey from grid B2 and ends at C16. The robot enters a dead-end-ally at C4 and has to turn back at E2. This redundant path is removed by a redundant path checking algorithm, which stores the path. Similarly the redundant loop that is apparent by the bottle neck at O8 and P8 is removed by the adjacent step checking procedure of the algorithm. The minimal computed path (shown as dotted line) is the transmitted (via the Bluetooth) path to other support robots or rescuers, which can travel this path without the need to make any movement decisions. A typical solution by a lead robot is depicted in Figure 12. Figure 12. Path Simplification IX. CONCLUSION In this paper, the concept of virtual maze solving was introduced, where a virtual environment is created and mapped onto real mobile Robots. The robots were proven to be capable of solving mazes with various on-board algorithms. Unlike traditional environments, this allowed for real-time mobile robot rapid navigation in virtual maze, with minimal cost. In the presented work, two maze solving algorithms were used to solve mazes generated by the user; a primary navigation algorithm for systematic discovery and a proximity algorithm for optimised rescue. Immediate surroundings were discretely revealed to the robot to enable it to decide on navigating its way to the next location. Data exchange was achieved through discrete communications between the robot and the computer via wireless communication. Realistic rescue missions were taken into account, and a solution was given to preserve the advantages of proximity navigation whilst avoiding being in an unsolvable loop that was introduced as a proximity trap. REFERENCES [1] O. Motlagh, T. Hong, N. Ismail, Development of a new minimum avoidance system for a behavior-based mobile robot, Fuzzy Sets and Systems 160 (2009) 1929 1946 [2] K. Goris, Autonomous mobile robot mechanical design, Verije University, Brussels, Retrieved January 3, 2006 [3] Y. Owen, G. Andrew, Dynamical wall following for a wheeled robot, University Baltimore. Retrieved March 5, 2006. [4] Y. Koren, J. Borenstein, Potential field methods and their inherent limitations for mobile robot navigation, in: Proc. IEEE Conf. on Robotics and Automation, 1991, pp. 1398 1404. [5] M. Massari, G. Giardini, F. Bernelli-Zazzera, Autonomous navigation system for planetary exploration rover based on artificial potential fields, Retrieved January 3, 2006, from (http://naca.central.cranfield.ac.uk/dcsss/2004/b24_na vigationb.pdf), 2001. [6] W. L. Xu, S.K. Tso, Sensor-based fuzzy reactive navigation for a mobile robot through local target switching, IEEE Trans. Systems, Man, Cybernet., Part C: Appl. Rev. 29 (3) (1999) 451 459. [7] X. Yang, M. Moallem, R. V. Patel, A layered goaloriented fuzzy motion planning strategy for mobile robot navigation, IEEE Trans. Systems, Man, Cybernet., Part B: Cybernet. 35 (6) (2005) 1214 1224. [8] K. M. Krishna, P. K. Kalra, Perception and remembrance of the environment during real-time navigation of a mobile robot, Robot Auton. Syst. 37 (2001) 25 51. [9] A. V. Kelarev, Graph Algebras and Automata, Marcel Dekker, New York, 2003. [10] M. Wang, J. N. K. Liu, Fuzzy logic based robot path

F. Y. Annaz / IJECCT 2012, Vol. 2 (2) 7 planning in unknown environments, Proc. 2005 Internat. Conf. on Mach. Learn. and Cybernet., Vol. 2, 05, pp. 813 818. [11] A. Zhu, S. X. Yang, A fuzzy logic approach to reactive navigation of behavior-based mobile robots, Proc. 2004 IEEE Internat. Conf. on Robotics and Automat., Vol. 5, 2004, pp. 5045 5050. [12] J. Saylor, Neural networks for decision tree searches, Proceedings of IEEE/EMBS-9 conference, vol. 2, 1987. p.373 4. [13] X. Y. Simon, M. Meng, An efficient neural network approach to dynamic robot motion planning, Neural Networks 2000;13:143 8. [14] R. Glasius, S. Komoda, S. Gielen, Neural network dynamics for path planning and obstacle avoidance, Neural Networks 1995;8:125 33. [15] A. B. Nayfeh, Cellular automata for solving mazes, Dr Dobbs J, Volume 18, Issue 2, Feb. 1993. [16] D. Knuth, The Art Of Computer Programming, Addison-Wesley, 1997 [17] R. C. Prim, Shortest connection networks and some generalizations, Bell Systems Technical Journal, 1957 [18] C. Vasudev, Graph Theory with Applications, New Age International Publishers, 06