Download presentation
Presentation is loading. Please wait.
1
Robotics meet Computer Science
Robot Motion Planning Robotics meet Computer Science
2
Motion Planning
3
motion planning = collection of problems
Information required Knowledge of spatial arrangement of workspace. E.g., location of obstacles Full knowledge full motion planning Partial knowledge combine planning and execution motion planning = collection of problems
4
Motion problem The Problem: t is a continuous sequence of Pos’
Given an initial position POinit Given a goal position POgoal Generate: continuous path t from POinit to POgoal t is a continuous sequence of Pos’
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). W = RN, N=2,3 Bi , I=1,…,q. Rigid objects in W. The obstacles A B2 B1
7
The Environment of Motion Planning and Obstacle Avoidance
8
Configuration Space Idea
represent robot as point in space map obstacles into this space transform problem from planning object motion to planning point motion A B2 B1
9
Obstacles in C (cont.) Def: Connected Component
q1, q2 belong to the same connected component of Cfree 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
Classic Path Planning Approaches
Roadmap – 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 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 function
11
Planning Approaches 1- Roadmap Captures connectivity of Cfree 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 qgoal qinit qinit qgoal
Visibility graph in 2D CS. Nodes: initial and final config + vertices of C-obstacles. Voronoi diagram with polygonal C-obstacles
13
Decompose the free space into simple regions called cells
Cell Decomposition Decompose the free space into simple regions called cells Construct a non-directed graph representing adjacencies: the conectivity graph Search for a path forming a “channel” Two variations: Exact: union of cells is exactly the free space Approximate: union included in the free space
14
Cell Decomposition: Example
10 1 2 3 4 5 6 7 8 9 11 12 qinit qgoal 3 2 10 4 5 6 9 1 11 12 7 8
15
Trapezoidal Decomposition
16
Adjacency Graph Nodes: cells
Edges: There is an edge between every pair of nodes whose corresponding cells are adjacent.
17
Quadtree Decomposition
18
Octree Decomposition
19
Approximation Cell Decomposition
Now let us look at how C- obstacle query can be used for cell decomposition for path non-existence. The cell decomposition will subdivide the configuration space into cells. If a cell lies entirely in C-obstacle, the cell is labelled as full cell. If … Otherwise, … Here the full cells can be identified using C-obstacle query. Configuration Space full mixed empty
20
A potential field is a scalar function over the free space.
Potential Fields 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. A 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
21
Attractive & Repulsive Fields
Slide 21
22
Problem Formulation for Point Robot
Input Robot represented as a point in the plane Obstacles represented as polygons Initial and goal positions Output A collision-free path between the initial and goal positions
23
Breadth-First Search
24
Breadth-First Search
25
Breadth-First Search
26
Breadth-First Search
27
Breadth-First Search
28
Breadth-First Search
29
Breadth-First Search
30
Breadth-First Search
31
“Hey I got struck… I’ll choose another path”
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. Make the best move as per open list status Add all executed moves in the closed list
32
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 goal Try to mix paths to attain optimality Generate random paths between needed points
33
Chromosome - representation
An encoded expression of potential solutions. (usually in the form of string) Path representation Encode the order of visiting points as a string Example
34
Chromosome - population
Population – a set of chromosomes Chromosomes are generated randomly. i.e. the population contains a set of random solutions Each robot is equipped with one population
35
Operator - Crossover Exchange information from two selected chromosomes Crossover point: the first identical node in both parents Example: Parent1: Parent2: Child1: Child2:
36
Operator - Mutation Mutation rate is low (for escaping local optimum)
Randomly selects one gene (node) to mutate Its following nodes are picked randomly from sequentially connected nodes
37
Evaluation - Fitness Fitness = Tour Length + Waiting Time
(Static) (Dynamic)
38
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 environment Learn these and use them in decision making Make random moves when position deteriorates
39
Path Non-existence Problem
Initial Robot Obstacle Obstacle Goal Slide 39
40
Path Non-existence Problem
Here is a slightly more complex example. We have 2 gear shaped obstacles in 2D plane. We need to move the gear-shaped robot from left to right through these two obstacles. The figure shows that the robot can be placed between these two obstacles. But can you quickly identify path non- existence for this problem? % But it’s not intuitive to tell whether there is a collision-free path or no path exists for this example. % In some sense, to claim the path non-existence is more difficulty than to find a collision free path. % And demands more computations
41
Find planning path from o to x
42
initial position (1, 1), goal symbol
initial position (1, 1), goal symbol * and obstacles are marked by boxes
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.