Unit 2: Slam and Path Planning Flashcards

1
Q

Occupancy Grid Mapping representation

A

A robot represents a map of the environment as an evenly-spaced field of cells.

Each cell represents the presence or absence of an obstacle at that location in the environment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Occupancy Grid Mapping algorithm

A

As the robot moves around an environment:
- If a laser beam returns a hit for a cell, then the algorithm increments the counter of that cell.
- If a laser beam travels through a cell, then the algorithm decrements the counter for that call.

When the robot completed the survey, threshold the counter value in each cell:
- If the counter value is greater than the threshold, assume it is occupied.
- If the counter value is lower, assume it to be a free cell.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Occupancy Grid Mapping algorithm

Why might there be unobserved cells?

A

It is possible for a cell to still be set at its initial counter value after a robot has completed its survey of the environment.

Because the robot didn’t travel through this cell, we don’t know whether it is actually free or an obstacle.

  1. There are always some corner cells that remain at their initial values.
  2. cell might be inside an obstacle, meaning you can never hit it, as you’ll always hit the outer boundary.
  3. The cell may be in an area that the robot has not explored.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Occupancy Grid Mapping algorithm

Safest way to deal with unobserved cells

A

For all cells still at their initial counter value at the end of the mapping, mark as occupied.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Chicken & Egg problem:

Localisation & Mapping

A
  • If you have a good map, then you can perform good localisation.
  • If you have good localisation, then you can construct a good map.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Simultaneous Localisation and Mapping (SLAM)

A

The computational problem of constructing a map of an unknown environment, while simultaneously keeping track of an agent’s location within it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Path Planning

Fixed-size cell decomposition

A
  1. Overlay a grid onto the space.
  2. Mark as occupied any cell containing an obstacle, even if partially.
  3. Perform graph search to find a sequence of free cells from start to goal.
  4. Convert the sequence of cells into a path for the robot.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Path Planning

Adaptive-size cell decomposition.

A
  1. Start with a coarse grid on the space.
  2. Any cell containing an obstacle is further devided until a threshold is reached.
  3. Mark any cell at the threshold containing an obstacle as occupied.
  4. Perform graph search to find a sequence of free cells from start to goal.
  5. Convert the sequence of cells into a path for the robot.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Path Planning

Exact cell decomposition

A
  1. Move along a fixed direction through the map.
  2. Whenever a corner is encountered, split the cell.
  3. Create a graph, where cells are represented as nodes, and cells sharing a border are connected.
  4. Perform graph search to find a sequence of cells.
  5. Convert the sequence of cells into a path for the robot. First connect mid-points of boundaries, then connect the start and the goal.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Convex Polygon

A

A planar polygon is convex if it contains all the line segments connecting any pair of its points.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Exact cell decomposition

Why do we create a new cell at each corner?

A

Cells should be convex.

We want the inside of the cell to require no planning. I.e. we want to be able to connect any two points in a cell using simply a straight line.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Path planning

Visibility Graph

A
  1. Connect each obstacle corner with each other corner that is directly visible.
  2. Also connect start and goal with corners that are directly visible.
  3. Search this graph.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Benefit of a visibility graph

A

Gives the shortest path in geometrical environments.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

2 Problems with the visibility graph approach

A
  • It creates many edges. The connections between the corners increase quadratically as the number of corners increases. We need to do straight-line visibility checks, meaning that this can take a lot of time when generating a first graph. I.e. it requires extensive computation.
  • Visibility graphs generate paths which ‘graze’ obstacles because they often require a robot to take very tight turns around obstacles.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Voronoi diagram

A

The set of points that are equi-distant from the two closest surfaces.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Path planning

Voronoi diagram algorithm

A
  1. Construct the Voronoi diagram from the map.
  2. Find closest segments to the start and goal.
  3. Perform graph search to find the shortest path.
17
Q

Voronoi diagram algorithm: Strengths

A

Very safe paths.

18
Q

Voronoi diagram algorithm: Weaknesses

A

Paths are far from optimal.

19
Q

5 Methods for path planning

A
  • Fixed-size decomposition
  • Adaptive-size sell decomposition
  • Exact cell decomposition
  • Visibility graphs
  • Voronoi diagrams
20
Q

4 Key considerations for planning algorithms

A
  • Completeness
  • Optimality
  • Computational complexity (planning time)
  • Ease of implementation
21
Q

4 Key considerations for planning algorithms

Completeness

A

A planner is complete if it finds a solution whenever one exists.

22
Q

4 Key considerations for planning algorithms

Optimality

A

A planner is optimal if it always produces the shortest possible path.

23
Q

4 Key considerations for planning algorithms

Computational complexity (planning time)

A

This is a function of how complex the chosen planner is, and the complexity of the environment.

Balance optimality with the time to plan suitable paths.

24
Q

4 Key considerations for planning algorithms

Fixed-size sell decomposition

Properties

A
  • Not complete
  • Not optimal (but can get close if cell sizes are small)
  • Planning gets slow as cell sizes get smaller.
  • Very easy to implement
25
Q

4 Key considerations for planning algorithms

Adaptive-size cell decomposition

Properties

A
  • Not complete (but can get close)
  • Not optimal.
  • Planning gets slow as cell sizes get smaller.
  • Not easy to implement.
26
Q

4 Key considerations for planning algorithms

Exact cell decomposition

Properties

A
  • Complete
  • Not optimal.
  • Planning is fast if environment is sparse, slow otherwise.
  • Difficult to implement.
27
Q

4 Key considerations for planning algorithms

Visibility graphs

A
  • Complete
  • Optimal (but not safe if there is an execution error).
  • Planning is fast if environment is sparse, slow otherwise.
  • Difficult to implement.
28
Q

4 Key considerations for planning algorithms

Voronoi diagrams

A
  • Complete
  • Not optimal (but very safe even if there is execution error)
  • Slow
  • Difficult to implement.
29
Q

Path planning

2 Local methods

A
  • Potential fields
  • Bug algorithm
30
Q

Path planning

Potential fields method

A
  • Robot should be attracted by the goal. Define an attraction force F_att.
  • It should be repelled by any obstacles. Define a repulsive force F_rep.
  • F = F_att + F_rep where F is the resultant force and direction of travel for the robot.
31
Q

Benefit of Potential fields method

A

No global planning is needed.

We can continually compute which forces we are attracted to at any point along the path.

Following these forces creates smooth motion.

32
Q

Problem with the Potential fields method

A

Robot can get stuck at a local minima.

33
Q

Bug algorithm

A
  1. Move towards the goal
  2. If you hit an obstacle, follow the wall.
34
Q

Configuration of a robot

A

A complete specification of the position of every point on the robot.

Such that, given the configuration for a robot, one should be able to determine where every point of the robot is in the environment, and you should be able to draw the exact space the robot’s body will occupy.