Rahul Kala, Department of Information Technology Indian Institute of Information Technology and Management Gwalior

Slides:



Advertisements
Similar presentations
Motion Planning for Point Robots CS 659 Kris Hauser.
Advertisements

Algorithms + L. Grewe.
CSE 380 – Computer Game Programming Pathfinding AI
CS171 Introduction to Computer Science II Graphs Strike Back.
Robot Motion Planning: Approaches and Research Issues
Hybrid architecture for autonomous indoor navigation Georgia Institute of Technology CS 7630 – Autonomous Robotics Spring 2008 Serge Belinski Cyril Roussillon.
School of Systems, Engineering, University of Reading rkala.99k.org April, 2013 Motion Planning for Multiple Autonomous Vehicles Rahul Kala Genetic Algorithm.
Generated Waypoint Efficiency: The efficiency considered here is defined as follows: As can be seen from the graph, for the obstruction radius values (200,
1 Solving problems by searching Chapter 3. 2 Why Search? To achieve goals or to maximize our utility we need to predict what the result of our actions.
Path Planning with the humanoid robot iCub Semester Project 2008 Pantelis Zotos Supervisor: Sarah Degallier Biologically Inspired Robotics Group (BIRG)
Footstep Planning Among Obstacles for Biped Robots James Kuffner et al. presented by Jinsung Kwon.
Games with Chance Other Search Algorithms CPSC 315 – Programming Studio Spring 2008 Project 2, Lecture 3 Adapted from slides of Yoonsuck Choe.
1 Techniques for Efficient Road- Network-Based Tracking of Moving Objects Speaker : Jia-Hui Huang Date : 2006/10/23.
1 Solving problems by searching Chapter 3. 2 Why Search? To achieve goals or to maximize our utility we need to predict what the result of our actions.
A New Algorithm for Solving Many-objective Optimization Problem Md. Shihabul Islam ( ) and Bashiul Alam Sabab ( ) Department of Computer Science.
June 12, 2001 Jeong-Su Han An Autonomous Vehicle for People with Motor Disabilities by G. Bourhis, O.Horn, O.Habert and A. Pruski Paper Review.
CSE53111 Computational Geometry TOPICS q Preliminaries q Point in a Polygon q Polygon Construction q Convex Hulls Further Reading.
Soft Computing and Expert System Laboratory Indian Institute of Information Technology and Management Gwalior MTech Thesis Fourth Evaluation Fusion of.
Graphs II Robin Burke GAM 376. Admin Skip the Lua topic.
1 Game AI Path Finding. A Common Situation of Game AI A Common Situation of Game AI Path Planning Path Planning –From a start position to a destination.
Department of Information Technology Indian Institute of Information Technology and Management Gwalior AASF hIQ 1 st Nov ‘09 Department of Information.
Genetic Algorithm for Multicast in WDM Networks Der-Rong Din.
1 A Static Analysis Approach for Automatically Generating Test Cases for Web Applications Presented by: Beverly Leung Fahim Rahman.
WAES 3308 Numerical Methods for AI
Arindam K. Das CIA Lab University of Washington Seattle, WA MINIMUM POWER BROADCAST IN WIRELESS NETWORKS.
Informed search algorithms
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
ANALYSIS AND IMPLEMENTATION OF GRAPH COLORING ALGORITHMS FOR REGISTER ALLOCATION By, Sumeeth K. C Vasanth K.
Artificial Intelligence Chapter 4. Machine Evolution.
Leonardo Guerreiro Azevedo Geraldo Zimbrão Jano Moreira de Souza Approximate Query Processing in Spatial Databases Using Raster Signatures Federal University.
Selection and Navigation of Mobile sensor Nodes Using a Sensor Network Atul Verma, Hemjit Sawant and Jindong Tan Department of Electrical and Computer.
A New Evolutionary Approach for the Optimal Communication Spanning Tree Problem Sang-Moon Soak Speaker: 洪嘉涓、陳麗徽、李振宇、黃怡靜.
1 Genetic Algorithms and Ant Colony Optimisation.
Robotic Path Planning and Navigation Control. Introduction With the rapid growth in technology coupled with the increasing demands from the people and.
MULTI-MOBILE AGENT MULTI-ROBOT SYSTEM Mobile Agent Cloning for Servicing Networked Robots 2 STIGMERGICALLY CONTROLLING A POPULATION OF HETEROGENEOUS MOBILE.
Institute of Automation Christian Mandel Thorsten Lüth Tim Laue Thomas Röfer Axel Gräser Bernd Krieg-Brückner.
Neural Heuristics For Problem Solving: Using ANNs to Develop Heuristics for the 8-Puzzle by Bambridge E. Peterson.
Project 2: Classification Using Genetic Programming Kim, MinHyeok Biointelligence laboratory Artificial.
Routing and Scheduling in Multistage Networks using Genetic Algorithms Advisor: Dr. Yi Pan Chunyan Ji 3/26/01.
Spatial Indexing Techniques Introduction to Spatial Computing CSE 5ISC Some slides adapted from Spatial Databases: A Tour by Shashi Shekhar Prentice Hall.
School of Systems, Engineering, University of Reading rkala.99k.org April, 2013 Motion Planning for Multiple Autonomous Vehicles Rahul Kala Rapidly-exploring.
Brief Announcement : Measuring Robustness of Superpeer Topologies Niloy Ganguly Department of Computer Science & Engineering Indian Institute of Technology,
Chapter 12 search and speaker adaptation 12.1 General Search Algorithm 12.2 Search Algorithms for Speech Recognition 12.3 Language Model States 12.4 Speaker.
A Framework for Reliable Routing in Mobile Ad Hoc Networks Zhenqiang Ye Srikanth V. Krishnamurthy Satish K. Tripathi.
Introduction to Artificial Intelligence CS 438 Spring 2008 Today –AIMA, Ch. 3 –Problem Solving Agents State space search –Programming Assignment Thursday.
MultiModality Registration Using Hilbert-Schmidt Estimators By: Srinivas Peddi Computer Integrated Surgery II April 6 th, 2001.
Path Planning Based on Ant Colony Algorithm and Distributed Local Navigation for Multi-Robot Systems International Conference on Mechatronics and Automation.
Application of the GA-PSO with the Fuzzy controller to the robot soccer Department of Electrical Engineering, Southern Taiwan University, Tainan, R.O.C.
Fundamentals of Computer Networks ECE 478/578
Rahul Kala 4 th Year, Integrated Post Graduate Programme BTech (IT) + MTech (IT) Multi Neuron Heuristic Search Indian Institute of Information Technology.
CS 6401 Intra-domain Routing Outline Introduction to Routing Distance Vector Algorithm.
Robot Motion Planning Robotics meet Computer Science.
Beth Tsai Jennifer E. Walter Nancy M. Amato Department of Computer Science Texas A&M University, College Station Distributed Reconfiguration of Metamorphic.
An Evolutionary Algorithm for Neural Network Learning using Direct Encoding Paul Batchis Department of Computer Science Rutgers University.
March 1, 2016Introduction to Artificial Intelligence Lecture 11: Machine Evolution 1 Let’s look at… Machine Evolution.
Multi-objective Motion Planning Presented by Khalafalla Elkhier Supervised by Dr. Yasser Fouad.
Artificial Intelligence
Training Neural networks to play checkers
Prof. Carolina Ruiz Department of Computer Science
Enumerating Distances Using Spanners of Bounded Degree
Divide Areas Algorithm For Optimal Multi-Robot Coverage Path Planning
Spline-Based Multi-Level Planning for Autonomous Vehicles
Robotic Path Planning using Multi Neuron Heuristic Search
Artificial Intelligence
Informed search algorithms
Add Heuristic a b C D E Switch Cost
Introduction to Artificial Intelligence Lecture 11: Machine Evolution
Sampling based Mission Planning for Multiple Robots
Robotics meet Computer Science
Presentation transcript:

Rahul Kala, Department of Information Technology Indian Institute of Information Technology and Management Gwalior Paper: Kala, Rahul, et al (2009), Mobile Robot Navigation Control in Moving Obstacle Environment using Genetic Algorithm, Artificial Neural Networks and A* Algorithm, Proceedings of the IEEE World Congress on Computer Science and Information Engineering (CSIE 2009), ieeexplore, DOI /CSIE , pp , April 2009, Los Angeles/Anaheim, USA (Conference) (Download Paper)

 A* Algorithm  Genetic Algorithm  Artificial Neural Networks

 There is a region of static and dynamic obstacles  Guide the robot from source o destination

 The entire region divided in grid on size M X N  Each dynamic element can move not more than a unit distance in threshold time

Various directions the robot can move in N0 NE1 E2 SE3 S4 SW5 W6 NW7 The representation of various directions

The robotic movements  Move forward (unit step)  Move at an angle of 45 degrees forward (unit step) from the current direction  Move clockwise/anti-clockwise (45 degrees)  Move clockwise/anti-clockwise (90 degrees)

Various Movements Possible

 g(n) = depth from the initial node, increases by 1 in every step  h(n) = square of the distance of the current position and the final position + R(n)  R(n) = minimum time required for the robot to rotate in its entire journey assuming no obstacles  f(n) = g(n)+h(n)

The values of R(n) at various places Goal Position Region 1: 0 Region 2: 2 Region 3: 1 Region 4: 1

Step 1: while(CurrentPosition <> FinalPosition) Begin Step 2: m ← getNextRobotMove(CurrentPosition) Step 3:moveRobot(m)

Step 1: closed ← empty list Step 2: add a node n in open such that position(n) = CurrentPosition Step 3: while open is not empty Begin Step 4: extract the node n from open with the least priority Step 5: if n = final position then break Step 6: else Step 7: moves ← all possible moves from the position n Step 8: for each move m in moves Begin Step 9: if m leads us to a point which can be the point of any obstacle in the next unit time then discard move m and continue Step 10 if m is already in open list and is equally good or better then discard this move Step 11: if m is already in closed list and is equally good or better then discard this move Step 12delete m from open and closed lists Step 13:make m as new node with parent n Step 14:Add node m to open Step 15:Add n to closed Step 16:Remove n from open

The representation of obstacles in various directions 0(N) 1(NE) 2(E ) 3(SE) 4(S) 5(SW)6(W) 7(NW)

 We consider a graphical representation of chromosome  Each chromosome a collection of graphical nodes  Crossover operation by graph mixing

 Full: They are complete solution and fully connect source to destination  Left: The start from the source but are unable to reach to the destination  Right: They do not start from the source but reach the destination

Full Left Right

 Full Solution: f(S)=No of steps needed to traverse from source to destination  Left Solution: Number of steps needed to traverse from source to the last point traversed + (Square of the distance of this point to the final destination + R(n))  Right Solution: (Square of the distance of source point to the first point traversed + R(n)) + Number of steps needed to traverse from this point to the final solution

 Try to find a straight path solution between source and destination  Try to find random left solution between source and destination  Try to find random right solution between source and destination.  Find Full Solutions from fusion of left and right

Step1: for i ← 1 to noIterationsInitial Begin Step2: for j ← 1 to (3/2)*perimeter of board (Maximum moves per solution being tried) Begin Step3: if p ← destinationPoint Step4:add p to current solution set and break Step5:find the move m in moves which makes the robot closest to destination Step6:if point p we reach after m is already in the current solution set then delete earlier points and add this point. Step7:if no move takes the robot closer to target Step 8: make randomMoves number of random moves in any direction Step9: for each move m in these moves, if point p we reach after m is already in the current solution set then delete earlier points and add this point. Step10: i f destinationPoint is reached then add this solution set to fullSolution Step11: else add this solution set to leftSolution

 The crossover can occur between any of the following pairs of solutions ◦ Full Solution and Full Solution ◦ Left Solution and Full Solution ◦ Full Solution and Right Solution ◦ Left Solution and Right solution

Step 1: points ← find common points in parent1 and parent2 that have same x and y coordinate Step 2: if points <> null Step 3: for each common point p in points Begin Step4:sol1 ← all points in parent1 till p + rotations necessary to transform direction of p to the one of point p of parent2 + all points in parent2 after p Step5:Add sol1 to fullSolution set

Step 1: if no of solutions in full solution set > 0 then Step 2: r1,r2 ← any two random points on a random solution from fullSolution set set with r1 on the left of r2 Step 3: find solutions as found in initial solution with start point as r1 and goal point as r2 Step 4: if full results generated > 0 Step 5: newSolution ← most fit solution in this generated solution set Step 7:sol1 ← all points in solution till r1 + rotations necessary to transform direction of r1 to the one of first point of newSolution + all points in newSolution + rotations necessary to transform direction of last point in newSolution to r2 + all points in solution after r2 Step 8:add sol1 to solutionFull

 With a probability of 2/3, select the most fit chromosome from the full solution set and any one randomly from the left/right/full solution set  With a probability 1/3 select any random chromosome from full solution set and any one randomly from left/right/full solution set

There are total 26 inputs to the neural network (I0-I25)   The I0 and I1 denote the rotations ◦ (I0,I1)=(0 0) represents +2 or -2 ◦ (I0,I1)=(0 1) represents +1 ◦ (I0,I1)=(1 1) represents 0 ◦ (I0,I1)=(1 0) represents -1 These are numbered according to gray codes

I2 (m-2,n-2)I3 (m-2,n-1)I4 (m-2,n)I5 (m-2,n+1)I6 (m-2,n+2) I7 (m-1,n-2)I8 (m-1,n-2)I9 (m-1,n)I10 (m-1,n+1)I11 (m-1,n+2) I12 (m,n-2)I13 (m,n-1)Robot (mXn)I14 (m,n+1)I15 (m,n+2) I16 (m+1, n-2)I17 (m+1,n-1)I18 (m+1,n)I19 (m+1,n+1)I20 (m+1,n+2) I21 (m+2,n-2)I22 (m+2,n-1)I23 (m+2,n)I24 (m+2,n+1)I25 (m+2,n+2)

 3 Outputs (O0,O1,O2)=(0,0,0) Rotate left 90 degrees. (O0,O1,O2)=(0,0,1) Rotate left 45 degrees. (O0,O1,O2)=(0,1,0) Move forward. (O0,O1,O2)=(0,1,1) Rotate left 45 degrees and move forward. (O0,O1,O2)=(1,0,0) Do not move. (O0,O1,O2)=(1,0,1) Rotate right 90 degrees. (O0,O1,O2)=(1,1,0) Rotate right 45 degrees and move forward. (O0,O1,O2)=(1,1,1) Move right 45 degrees.

Step 1: initialize map and generate N obstacles at positions (xi,yi,di) Step 2: while(noTestCaseGenerated <> noTestCasesDesired) Begin Step 3: Generate the robot at random position (xi,yi,di) Step 4: I ← Input sequence Step 5: m ← getNextRobotMoveUsingAStar(CurrentPosition) Step 6:moveRobot(m) Step7:O ← Output Sequence Step 8:Add (I,O) to training data

Step 1: n ← Generate Neural Network Step 2: n ← TrainNeuralNetwork() Step 3: while(CurrentPosition <> FinalPosition) Begin Step 4: I ← generateInputSequence() Step 5:O ← generateOutputSequence(I) Step6:if O gives valid move Step 7:moveRobot(O) Step 8:if robot not changed position in last 5 steps Step 9:makeRandomMove() Step10:if distance of robot decreasing in last 5 steps (excluding rotations) Step11:move next move only if the next move decreases distance or is of equal distance