Presentation is loading. Please wait.

Presentation is loading. Please wait.

Robot Motion Planning Robotics meet Computer Science.

Similar presentations


Presentation on theme: "Robot Motion Planning Robotics meet Computer Science."— Presentation transcript:

1 Robot Motion Planning Robotics meet Computer Science

2 Motion Planning

3 Information required Knowledge of spatial arrangement of wkspace. E.g., location of obstaclesKnowledge of spatial arrangement of wkspace. E.g., location of obstacles Full knowledge full motion planningFull knowledge full motion planning Partial knowledge combine planning and executionPartial knowledge combine planning and execution motion planning = collection of problems

4 Motion problem The Problem:The Problem: – –Given an initial position PO init – –Given a goal position PO goal – –Generate: continuous path t from PO init to PO goal t is a continuous sequence of Pos’

5 5 Work Space and Configuration Space Reference Point 2 Degrees of freedom 3 Degrees of freedom

6 Components of the problem A: single rigid object - the robot - moving in Euclidean space W (the wkspace).A: single rigid object - the robot - moving in Euclidean space W (the wkspace). W = R N, N=2,3 W = R N, N=2,3 B i, I=1,…,q. Rigid objects in W. The obstaclesB i, I=1,…,q. Rigid objects in W. The obstacles A B2B2B2B2 B1B1B1B1

7 The Environment of Motion Planning and Obstacle Avoidance

8 Configuration Space Idea 1. 1.represent robot as point in space 2. 2.map obstacles into this space 3. 3.transform problem from planning object motion to planning point motion A B2B2B2B2 B1B1B1B1

9 Obstacles in C (cont.) Def: Connected Component q 1, q 2 belong to the same connected component of C free iff they are connected by a free path Objective of Motion Planning: generate a free path between 2 configurations if one exists or report that no free path exists.

10 Slide 10 Classic Path Planning Approaches Roadmap – Represent the connectivity of the free space by a network of 1-D curvesRoadmap – Represent the connectivity of the free space by a network of 1-D curves Cell decomposition – Decompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cellsCell decomposition – Decompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cells Potential field – Define a potential function over the free space that has a global minimum at the goal and follow the steepest descent of the potential functionPotential field – Define a potential function over the free space that has a global minimum at the goal and follow the steepest descent of the potential function

11 Planning Approaches 1- Roadmap Captures connectivity of C free in a network of 1-D curves called “the roadmaps.” Once a roadmap is constructed: use a standard path. Roadmap Construction Methods: 1) Visibility Graph, 2) Voronoi Diagram, 3) Freeway Net and 4) Silhouette.

12 Roadmaps Examples q init q goal Visibility graph in 2D CS. Nodes: initial and final config + vertices of C-obstacles. Voronoi diagram with polygonal C-obstacles q init q goal

13 Roadmap Visibility graphVisibility graph Shakey Project, SRI [Nilsson, 1969] Shakey Project, SRI [Nilsson, 1969] Voronoi DiagramVoronoi Diagram Introduced by computational geometry researchers. Generate paths that maximizes clearance. Applicable mostly to 2- D configuration spaces. Introduced by computational geometry researchers. Generate paths that maximizes clearance. Applicable mostly to 2- D configuration spaces.

14 Cell Decomposition Decompose the free space into simple regions called cellsDecompose the free space into simple regions called cells Construct a non-directed graph representing adjacencies: the conectivity graphConstruct a non-directed graph representing adjacencies: the conectivity graph Search for a path forming a “channel”Search for a path forming a “channel” Two variations:Two variations: –Exact: union of cells is exactly the free space –Approximate: union included in the free space

15 Cell Decomposition: Example 10 1 2 34 5 67 8 9 11 12 3 210 4 5 6 9 1 1 12 7 8 q init q goal

16 Trapezoidal Decomposition

17 Adjacency Graph Nodes: cellsNodes: cells Edges: There is an edge between every pair of nodes whose corresponding cells are adjacent.Edges: There is an edge between every pair of nodes whose corresponding cells are adjacent.

18 Quadtree Decomposition

19 Octree Decomposition

20 fullmixed empty Approximation Cell Decomposition Full cellFull cell Empty cellEmpty cell Mixed cellMixed cell –Mixed –Uncertain Configuration Space

21 Slide 21 Potential Fields Initially proposed for real-time collision avoidance [Khatib 1986]. Hundreds of papers published.Initially proposed for real-time collision avoidance [Khatib 1986]. Hundreds of papers published. A potential field is a scalar function over the free space.A potential field is a scalar function over the free space. To navigate, the robot applies a force proportional to the negated gradient of the potential field.To navigate, the robot applies a force proportional to the negated gradient of the potential field. A navigation function is an ideal potential field thatA navigation function is an ideal potential field that –has global minimum at the goal –has no local minima –grows to infinity near obstacles –is smooth

22 Slide 22 Attractive & Repulsive Fields

23 A* Algorithm “I believe this is this way takes me shortest to the destination…. Lets give it a try” “Hey I got struck… I’ll choose another path” Add all possible moves in an open list.Add all possible moves in an open list. Make the best move as per open list statusMake the best move as per open list status Add all executed moves in the closed listAdd all executed moves in the closed list

24 Chromosome - representation ChromosomeChromosome –An encoded expression of potential solutions. (usually in the form of string) Path representationPath representation –Encode the order of visiting points as a string ExampleExample –0-1-2-6-9-11-15-17-22-25-26 –0-4-8-10-15-20-23-26

25 Chromosome - population Population – a set of chromosomesPopulation – a set of chromosomes Chromosomes are generated randomly. i.e. the population contains a set of random solutionsChromosomes are generated randomly. i.e. the population contains a set of random solutions Each robot is equipped with one populationEach robot is equipped with one population 0-1-2-6-9-11-15-17- 22-25-26 0-4-8-10-15-20-23-26

26 Operator - Crossover Exchange information from two selected chromosomesExchange information from two selected chromosomes –Crossover point: the first identical node in both parents –Example: Parent1: 0-1-2-6-9-11- 15 -17-22-25-26 Parent2: 0-4-8-10- 15 -20-23-26 Child1: 0-1-2-6-9-11-15-20-23-26 Child2: 0-4-8-10-15-17-22-25-26

27 Operator - Mutation Mutation rate is low (for escaping local optimum)Mutation rate is low (for escaping local optimum) 1.Randomly selects one gene (node) to mutate 2.Its following nodes are picked randomly from sequentially connected nodes

28 Evaluation - Fitness Fitness = Tour Length + Waiting TimeFitness = Tour Length + Waiting Time (Static) (Dynamic) (Static) (Dynamic)

29 ANN with Back Propagation Algorithm “Whenever this type of situation arrives… Always make this move” “Hey rules failed… I’m struck… OK make random moves till you are out” Frame input/output pairs for every situation comprising of robot position, goal position and environmentFrame input/output pairs for every situation comprising of robot position, goal position and environment Learn these and use them in decision makingLearn these and use them in decision making Make random moves when position deterioratesMake random moves when position deteriorates

30 Genetic Algorithms “Show me some random paths so that I may decide” “OK this path is the best to go till a point and this path the best for the other part of the journey… Let me mix them both…” Generate random complete and incomplete solutions: source to nowhere, nowhere to goal and source to goalGenerate random complete and incomplete solutions: source to nowhere, nowhere to goal and source to goal Try to mix paths to attain optimalityTry to mix paths to attain optimality Generate random paths between needed pointsGenerate random paths between needed points

31 Problem Formulation for Point Robot InputInput –Robot represented as a point in the plane –Obstacles represented as polygons –Initial and goal positions OutputOutput –A collision-free path between the initial and goal positions

32 Breadth-First Search

33

34

35

36

37

38

39

40 Slide 40 Path Non-existence Problem Obstacle Goal Initial Robot

41 Find planning path from o to x

42 initial position (1, 1), goal symbol * and obstacles are marked by boxes


Download ppt "Robot Motion Planning Robotics meet Computer Science."

Similar presentations


Ads by Google