efficient path planning in semi-fault tolerant robotics

0 downloads 0 Views 256KB Size Report
Abstract—Optimal solutions evolved by convergence of functional ... environment the obstacles are detected by the robots sensors by the ... robot. In hostile and difficult environments, such as fire- fighting operations, it is evident that the robot ...
120 

International Journal of Engineering & Technology IJET-IJENS Vol: 11 No: 03

EFFICIENT PATH PLANNING IN SEMI-FAULT TOLERANT ROBOTICS Nazifa Fatima, Dr Intesar Ahmad, Kashif Imran, Muhammad Shuja Khan Department of Electrical Engineering COMSATS Institute of Information Technology, Lahore Email: [email protected] Abstract—Optimal solutions evolved by convergence of functional spatial geometry is easier to implement in simulations but is difficult to show in real time robotics due to environment constraints. In robotics when people simulate locality issues, they try to minimize the gradient of function. Hence, during the course of path taken by robot, it tries to converge to a minimal point and the point is given by some function. We provide an implementation based on A*search path planning algorithm, which can easily utilize the localization capabilities and perform its path planning. The rescue robot is designed to aid workers in tasks such as rescue operations. This paper provides the implementation details of practical pathplanning algorithm that was used to generate real time plans for an autonomous robots operating in an alien environments. In such an environment the obstacles are detected by the robots sensors by the help of which it update the belief of maps and compute the paths.

I.

INTRODUCTION

The dynamic character of a robot with supple decision making capabilities is one the most important characteristics in the current domain of robotics. The main task for a robot in path planning environment is the proper execution of actions based on the set of beliefs, which control the decision-making and eventually the mobility of the robot. Usually the robot is optimized for a particular goal, and therefore, set-ofconstraints make the task of optimization more difficult, yet sound. Due to the changing demands in the modern world of engineering and robotics, it is required that the algorithm should be sufficient enough to perform the basic tasks such a path-planning. Path planning holds its significance in many domains such as surveillance, inspection and transportation. The aim of our work is to build a robot that is able to make decisions in multiple environments based on the minimum amount of localized information being fed from the sensors. The other key-factor that we have kept in mind is the graceful degradation of the sensor which controls the evidence for the robot. In hostile and difficult environments, such as firefighting operations, it is evident that the robot can lose some of its sensing capabilities. Most of these sensors help in evaluating the position of robot during its course of path. So therefore, it is important for a robot to act gracefully in the passive mode, where we define the passive-mode as the one in which the robot has shut majority of its sensors. Our basic goal is the training of robot using offline maps which would help the robot in traversing the path efficiently in short-time. The path planning technique under discussion is the famous A* path-planning search which would be suffice for the task of this nature. We’ll show that our implementation provides a list of multiple paths to track the goal, from wherein; we chose the most optimal path. For the sake of

explanation consider the example, of the robot’s mobile behavior within a maze. Using generic localization capabilities, the robot would be able to determine its position, but without using an efficient path-planner it would be difficult to get an optimized path. In most of the cases, such negligence can cause catastrophe, especially in tasks for first-responders. Hence the goal is to find an optimal path, avoiding maximum collision and increasing the optimization in real-time robotics. In this work we obtain multiple shortest path from the source to goal, which afterwards nurtured into most optimal path to the destination. Along with this routing plan our control option is controlled using an autonomous agent. Autonomous refers to the movement of the robot without any human assistance. Obstacle detection is a key feature of the robot and enables it to determine its path while moving autonomously. This detection is done with the help of sonar sensors. The sensor integration supports many robotic research topics such as map building [1], selflocalization [2], path planning [3] etc.

II. BACKGROUND AND RELATED WORK Learning and evolution are two fundamental forms of adaptation. There has been a great interest in combining learning and evolution with artificial neural networks (ANNs) in recent years. Evolutionary artificial neural networks [4][5] (EANNs) hold an integral part in the adaptive learning domain in many fields e.g., machine learning and artificial intelligence. It is categorized under artificial neural networks (ANNs), in which evolution is another fundamental step of adaptation besides learning. Evolutionary Algorithms (EAs) [6] are used within such systems to train for the basic required task, which also helps the system adapt to dynamic changes in the environment during its validation phase. Evolutionary algorithms like genetic algorithms [7] are designed for search and optimization procedures. These procedures are motivated by the principles of natural genetics and natural selection. The basic fundamentals like population, selection of fit individuals, mating to form new individuals, and representation of individuals in phenotypic or genotypic forms etc are borrowed from nature. The ease of problem formulation makes them an ideal platform for the fault-tolerance experiments considered in this work. Evolutionary algorithms have been successfully employed to design fault-

116603-9090 IJET-IJENS @ June 2011 IJENS

I J E N S 

International Journal of Engineering & Technology IJET-IJENS Vol: 11 No: 03 tolerant systems in the field of evolvable hardware [8]. They are considered a great tool of adaption in this field. Design time methods are incorporated to make electronic circuits fault-tolerant. The robot controllers are based on neural networks with some sensory inputs and outputs used for activation. NEAT is very effective in developing solutions to complex problems building up from basic neural network topologies [9]. NEAT uses the novel idea of innovation numbers to protect complex innovative structures by speciation. NEAT has been successfully employed in many machine learning applications [10]. Localization in the domain of robotics and sensor networks has been attracting significant interest in the last decade due to the realization of low-cost and multifunctional sensor nodes and their deployments in both indoor and outdoor environments [11]. There are certain issues with the localization using a stream of mobile sensor networks. Typically, the localization in sensor networks takes into consideration quite a number of constraints which can become less efficient in mobile robotics. So therefore, the positioning algorithm needs to be selected in accordance with the environment in question. In the domain of sensor network various approaches have been used such as distance vectors (DV) [12], particle filters (e.g. [13], multidimensional scaling [14], recursive systems [15] and genetic algorithms, raph theory etc. The main use of genetic algorithms is to evolve a structure based on neural networks where some of the authors have focused on static networks like fuzzy networks [16]. In most of the discussed algorithms the positioning of the deployed network has been focused with great importance. But due to offline training, in our work as the position of the robot needs not to be updated on all the time-frame of the coarse of path, hence the selfawareness of the network is not the objective of the work under discussion. III. A. Repeated Forward A*

ALGORITHM

The algorithm of Repeated Forward A*[17] was tailored and essentially we had used the same basic idea but the execution flow of algorithm differs at some places. For the algorithm that follows, we just need to pass the initial location of the robot and final goal location for robot. It simply executes the Compute Path algorithm (as discussed below) to perform the A* search from the agent to the goal. After execution of compute path, using tree pointer it backtracks from the goal to agent and find the shortest path among the path nodes calculated during the A* search. Finally, it moves the agent along the path that was calculated during the backtracking procedure. Algorithm Compute Path Steps while !goal Check do removed Node := remove a state s with the

121 

smallest f − value from OPEN CLOSED := CLOSED ∪ {removedNode} for all actions a ∈ A(removed Node) do successor := search(succ(removed Node, a)) if search(successor) < counter then g(successor) := ∞ search(successor) := counter end if if g(successor) > [g(removed Node) + cost(removed Node, a)] then g(removed Node) := g(removed Node) + cost(removed Node, a)] successor ← tree(removed Node) if g(removed Node) == g(sgoal ) then goal Check := true CLOSED := CLOSED ∪ {succ(s)} end if if successor is in OPEN then remove it from OPEN insert successor into OP EN with f-value g(successor) + h(successor) end if end if end for if OPEN isempty then terminate end if end while B. Compute Path 1) Variables: For computing the shortest path along the node(i.e., square boxes in the gird) A* maintains five values for each state. The fives values are as follows: • g(s) The distance from starting state to the state ’s’ • h(s) Th e heuristic distance from state ’s’ to goal state • f (s) The total distance to goal state along the path of state ’s’, i.e., f (s) = g(s) + h(s) • tree(s) A tree pointer which keeps the track of previous node. This tree pointer is useful when algorithm performs the backtracking procedure. • search(s) Its value is used to identify the search value of node. It tells whether the node has be searched yet or not. 2) Working of algorithm: i. It also contains an open-list (a priority queue) in which the priority is given to the node which has the smallest value of f (s). It also has a closed list which keeps the record for all the nodes that have been searched. ii. Initially the start-state is pushed into the open list (a priority queue), from where it is removed and moved into closed list. iii. Here all the possible actions are performed over the

116603-9090 IJET-IJENS @ June 2011 IJENS

I J E N S 

International Journal of Engineering & Technology IJET-IJENS Vol: 11 No: 03 node, e.g., move-left, move-right etc and there respective values of f (s) is updated. Also all those states which have g(s) greater than the g(s) of previous states are pushed into the open list. iv. After updating all the costs of actions on a node and finding the states costs of neighbor node, the loop again finds the minimum in open list and performs the actions on it. This procedure continues till we reach the goal. IV. IMPLEMENTATION A. Software implementation We wanted our robot to be fully autonomous and have the ability to: i. Gain information about the environment. ii. Work for an extended period without human intervention. iii. Move either all or parts of itself throughout its operating environment without human assistance. iv. Avoid situations that are harmful to people, property, or itself unless those are part of the design specifications. There are two major parts of the implementation of the autonomous robot. First is the software part which involves coding and simulations. The second part is the hardware part that is discussed later in the paper. The most important part relevant to the implementation of learning algorithms in machine learning is the training phase of the machine. The adaptation should take place carefully, as an over fitted optimization would allow the robot to follow arbitrary paths. Even in the case of, under fitting the robot won’t be able to avoid the obstacles and hence the probability of collision increases resulting in decreased stability of the platform. So we used the different phases for the developments of robotic platform which included the training, validation and the testing phase. We used the simplest modules for the training for robot, to avoid overfitting and also to make it adaptable for complex situations with time. As most of our work was in open-source environment so the coding language that we have used in our implementation was Java. A program stores its data in one place and its procedures in another. To change the data in some way, you would call a procedure. There was no logical or organizational connection between the data and the procedures, however, which is the primary shortcoming of procedural programming. However solving of real time problems using procedural programming increases the complexity and size of the program. Java helps in achieving the same goals using easier coding techniques by the help of object-oriented programming. Java creates software objects where an object is an encapsulation of data and procedures. These software objects possess the same properties of realworld objects and can thus make solving real time problems in software easier.

122 

B. Software used The software which we have used for simulating our java code is ECLIPSE SDK. SDK stands for software development kit which is typically a set of development tools that allow for the creation of applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar platform. The Eclipse SDK includes the Eclipse Java Development Tools (JDT), offering the feature that is a built-in incremental Java compiler and a full model of the Java source files.

Fig. 1(a) Sample of map used for training the robot This allows for advanced refactoring techniques and code analysis. Fig.1(a) shows a sample map which can be opted by the robot for reaching from source(s) to goal (g) where (x) indicates the presence of obstacles.

Fig. 1(b) Simulation result from eclipse Fig.1(b) shows the simulation in eclipse. The lower box shows the result declaring the state of the robot from node to node.

116603-9090 IJET-IJENS @ June 2011 IJENS

I J E N S 

International Journal of Engineering & Technology IJET-IJENS Vol: 11 No: 03 C. Hardware Implementation This section explains the design of the robot, starting from the design of the mechanical structure, i.e., platform for which aluminum is selected. DC motor is used for driving while servo is used for steering. Also in our design, there are so many advantages of choosing front wheel drive over differential drive. So overall our focus was to achieve less weight with an elegant and sophisticated design. A platform is defined as” some sort of hardware architecture or software framework (including application frameworks), that allows software to run.” The robot platform is one of the most significant elements of a robot design which affects the mobility of robot. Good design requires a platform which is light, low cost and durable. Different platforms are available in the market depending upon the kind of applications for which robot is designed which includes type of robot and weight bearing capability. We considered the following as important considerations for developing the system • The use of steel was avoided unless extra strength is required because the use of steel results in making the overall structure heavy and difficult to maneuver. And aluminum frame work can be sufficiently strong for most purposes • It should have capacity to add new parts to it depending upon the changing requirements. • The weight of the robot should be mostly within the figure formed by connecting the wheels of the robot. This makes movement of the robot easier to handle. • It has to have a size that is practical. It should not be too small to have insufficient space for all features It should not be too large either or the robot will not be able to maneuver without bumping into furniture and people. One such platform, successfully made, having all above mentioned characteristics is shown in Fig.2.

123 

1) Material of the platform: Since our robot is not meant to carry any weight or any sophisticated equipment, its design and construction is very simple. And the material selected for the structure of the platform is aluminum. The reason for selecting aluminum is its various advantages over other metals which are commonly available and used for vehicles. We have made the frame out of Aluminum and placed an acrylic sheet over it. It is a low cost, light weight and easily available material. 2) Fixing of the motors: Our robot requires two motors, servo for direction control and dc gear motor for propulsion and steering. These motors are attached toward the front end of the frame. The two motors, precision servo and dc gear motor are connected such to provide smooth drive. The shaft of the servo motor is connected to the front wheel of the vehicle. The shaft of the dc gear motor is connected to the same wheel so as to provide it forward motion. A block diagram to show the connection of motor is shown Fig.3. We chose front wheel drive over differential drive due to the following reasons: i. Straight motion is easy to achieve in front wheel drive but it is very difficult and complex to be achieved in differential drive because of the difference in diameter and resistance of the two wheels. ii. Two dc motors are required for differential drive but only one dc motor is required for our front wheel drive Design. iii. Rear wheels are self aligned in their own brackets for free motion and turning instead of being connected by a single continuous shaft. 3) Importance of proper wheel selection: Wheels are the most common way to move a robot. Wider wheels can help the robot stay on track whereas with very narrow wheels the robot may follow a slow curve instead of a straight line. Conversely if the wheels are too wide the friction created by the area of the wheels in contact with the ground may hinder robots ability to move. We have selected three wheels of suitable weight for our robot. The surface of the wheels has patterns for greater grip.

Fig. 2. Hardware platform of the robot 116603-9090 IJET-IJENS @ June 2011 IJENS

Fig. 3. View of motor’s rotation I J E N S 

International Journal of Engineering & Technology IJET-IJENS Vol: 11 No: 03 The front wheel is attached to the servo motor, as shown in Fig.4, and provides steering while the back wheels are attached to the shaft of a DC motor after gear reduction and provides driving capabilities to the robot

124 

on, a study into the general principles on how evolution can exploit properties of the underlying hardware of the robot would be interesting. This paper attempts to initiate thoughts directed at using NEAT for fault tolerant issues that could be important for applications operating in remote or hazardous environments. VI. C ONCLUSION

Fig. 4. Lateral View of Platform

The dynamic character of a robot with supple decision making capabilities is one of the most important characteristics in the current domain of robotics. The main task for a robot in path planning environment is the proper execution of actions based on the set of beliefs, which control the decision- making and eventually the mobility of the robot. Usually the robot is optimized for a particular goal, and therefore, a set- of constraints make the task of optimization more difficult, yet sound. Due to the changing demands in the modern world of engineering and robotics, it is required that the algorithm should be sufficient enough to perform the basic tasks such a path-planning. In this work we obtain multiple shortest paths from the source to goal, which afterwards is nurtured into most optimal path leading to the destination. Along with this routing plan our control option is controlled using an autonomous agent. The path planning technique under discussion is the famous A* path-planning search which would be suffice for the task of this nature. We have shown that our implementation provides a list of multiple paths to track the goal, from wherein; we chose the most optimal path.

. V.

REFERENCES

FUTURE WORK

A lot of experimentation remains to be done, for analyzing the practical usefulness of such systems to deal with faulty scenarios. Using multiple agents in such scenarios, where collision avoidance is critical plays an important role for fault tolerant capabilities. One interesting scenario is to use HyperNEAT[18] to evaluate multiple agents co-ordination in such environment, where the goal is not only to save the victims in minimum time but also to avoid collision from other dynamic autonomous agents. Successful coordination among various agents to save victims in case of malfunctioning of some agents is another interesting scenario. The other interesting part is the learning process of the agent itself. An agent can interact with various patterns of input presentation for generalization, so plastic network can help the system to make proper decisions for future. One other domain of interest would be to compare the behavior of NEAT based controllers with human-designed (nonevolutionary algorithms) in fault tolerant situations. Further

[1] M. Dissanayake, P. Newman, S. Clark, H. Durrant-Whyte, and M. Csorba. A solution to the simultaneous localization and map building (SLAM) problem. Robotics and Automation, IEEE Transactions on, 17(3):229–241, 2001. [2] J . Gutmann and C. Schlegel. Amos: Comparison of scan matching approaches for self-localization in indoor environments. In eurobot, page 61. Published by the IEEE Computer Society, 1996. [3] L.Kavraki, P. Svestka, J. Latombe, and M. Overmars. Probabilistic roadmaps for path planning in high-dimensional configuration spaces. Robotics and Automation, IEEE Transactions on, 12(4):566–580, 1996. [4] Z. Yang, K. Tang, and X. Yao. Large scale evolutionary optimization using cooperative coevolution. Information Sciences, 178(15):2985– 2999, 2008 [5] G . Fogel, D. Fogel, and L. Fogel. Evolutionary programming. Scholarpedia, 6(4):1818, 2011 [6] C. Coello, G. Lamont, and D. Van Veldhuizen. Evolutionary algorithmsfor solving multi-objective problems. Springer-Verlag New York Inc, 2007 [7] C. Fonseca, P. Fleming, et al. Genetic algorithms for multiobjective op- timization: Formulation, discussion and generalization. In Proceedings of the fifth international conference on genetic algorithms, volume 423, pages 416–423. Citeseer, 1993. [8] A. Stoica, R. Zebulum, M. Ferguson, D. Keymeulen, and V. Dong. Evolving circuits in seconds: Experiments with a stand-alone board-

116603-9090 IJET-IJENS @ June 2011 IJENS

I J E N S 

International Journal of Engineering & Technology IJET-IJENS Vol: 11 No: 03

[9] [10]

[11]

[12] [13]

[14]

[15] [16]

[17]

[18]

125 

level evolvable system. In Evolvable Hardware, 2002. Proceedings. NASA/DoD Conference on, pages 67–74. IEEE, 2002. K. Stanley. Efficient evolution of neural networks through complexifica- tion. The University of Texas at Austin, 2004 J. Secretan, N. Beato, D. D Ambrosio, A. Rodriguez, A. Campbell, and K. Stanley. Picbreeder: evolving pictures collaboratively online. In Proceeding of the twenty-sixth annual SIGCHI conference on Human factors in computing systems, pages 1759–1768. ACM, 2008. Y. Chang and Y. Yamamoto. On-line path planning strategy integrated with collision and dead-lock avoidance schemes for wheeled mobile robot in indoor environments.Industrial Robot: An International Journal, 35(5):421–434, 2008. H. Cho and S. Kim. Mobile Robot Localization Using Biased ChirpSpread-Spectrum Ranging. Industrial Electronics, IEEE Transactions on, 57(8):2826–2835, 2010. J. Divya Udayan, T. Gireesh Kumar, R. John, K. Poornaselvan, and S. Lakshmanan. Mobile Robot Pose Estimation Based on Particle Filters for Multi-dimensional State Spaces. In Information and Communication Technologies, pages 602–605. Springer, 2010. M. Lima and J. Machado. A sensor classification strategy for robotic manipulators using multidimensional scaling technique. Computational Intelligence for Engineering Systems, pages 48–60, 2011. S. Horn and K. Janschek. A set-based global dynamic window algorithm for robust and safe mobile robot path planning. ISR/ROBOTIK 2010,2010. R. Wai and C. Liu. Design of dynamic petri recurrent fuzzy neural network and its application to path-tracking control of nonholonomic mobile robot. Industrial Electronics, IEEE Transactions on, 56(7):2667–2683, 2009. S. Koenig and W. Yeoh. A Project on Fast Trajectory Replanning for Computer Games for ’Introduction to Artificial Intelligence. Technical Report Department of Computer Science, University of Southern Cali- fornia, Los Angeles (California), 2008. D. D’Ambrosio and K. Stanley. Generative encoding for multiagent learning. In Proceedings of the 10th annual conference on Genetic and evolutionary computation, pages 819–826. ACM, 2008 .

116603-9090 IJET-IJENS @ June 2011 IJENS

I J E N S 

Suggest Documents