16-782 planning & decision-making in robotics case study...

19
16-782 Planning & Decision-making in Robotics Case Study: Planning for Coverage, Mapping and Surveyal Maxim Likhachev Robotics Institute Carnegie Mellon University

Upload: others

Post on 25-Dec-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 16-782 Planning & Decision-making in Robotics Case Study ...maxim/classes/robotplanning_grad/lectures/casemappingcoveragesurvey...Planning for Coverage, Mapping and Surveyal Maxim

16-782

Planning & Decision-making in Robotics

Case Study:

Planning for

Coverage, Mapping and Surveyal

Maxim Likhachev

Robotics Institute

Carnegie Mellon University

Page 2: 16-782 Planning & Decision-making in Robotics Case Study ...maxim/classes/robotplanning_grad/lectures/casemappingcoveragesurvey...Planning for Coverage, Mapping and Surveyal Maxim

Carnegie Mellon University 2

Definitions

• Coverage

– Traversal of a known map with a goal of fully examining it using

on-board sensors (e.g., museum security, car painting, lawn

mowing, etc.)

• Mapping– Traversal of an unknown map with a goal of fully building it using

on-board sensors (e.g., search for people in an unknown building)

• Surveyal

– Visiting a set of waypoints of interest with a goal of surveying

them using on-board sensors (e.g., surveillance)

Page 3: 16-782 Planning & Decision-making in Robotics Case Study ...maxim/classes/robotplanning_grad/lectures/casemappingcoveragesurvey...Planning for Coverage, Mapping and Surveyal Maxim

Carnegie Mellon University 3

Examples of Coverage

• Coverage

– Traversal of a known map with a goal of fully examining it using

on-board sensors (e.g., museum security, car painting, lawn

mowing, etc.)

Page 4: 16-782 Planning & Decision-making in Robotics Case Study ...maxim/classes/robotplanning_grad/lectures/casemappingcoveragesurvey...Planning for Coverage, Mapping and Surveyal Maxim

Carnegie Mellon University 4

Examples of Coverage

• Coverage

– Traversal of a known map with a goal of fully examining it using

on-board sensors (e.g., museum security, car painting, lawn

mowing, etc.)

Page 5: 16-782 Planning & Decision-making in Robotics Case Study ...maxim/classes/robotplanning_grad/lectures/casemappingcoveragesurvey...Planning for Coverage, Mapping and Surveyal Maxim

Carnegie Mellon University 5

Examples of Coverage

• Coverage

– Traversal of a known map with a goal of fully examining it using

on-board sensors (e.g., museum security, car painting, lawn

mowing, etc.)

What would be a good strategy

for traversal of a known obstacle-free region?

Random traversal

(e.g., Roomba for floor vacuuming)

is always an option.

Anything else?

Page 6: 16-782 Planning & Decision-making in Robotics Case Study ...maxim/classes/robotplanning_grad/lectures/casemappingcoveragesurvey...Planning for Coverage, Mapping and Surveyal Maxim

Carnegie Mellon University 6

Example of Coverage

• Coverage

– Traversal of a known map with a goal of fully examining it using

on-board sensors (e.g., museum security, car painting, lawn

mowing, etc.)

Lawn-mowing pattern

image borrowed from H. Choset, ‘01

Page 7: 16-782 Planning & Decision-making in Robotics Case Study ...maxim/classes/robotplanning_grad/lectures/casemappingcoveragesurvey...Planning for Coverage, Mapping and Surveyal Maxim

Carnegie Mellon University 7

Examples of Coverage

• Coverage

– Traversal of a known map with a goal of fully examining it using

on-board sensors (e.g., museum security, car painting, lawn

mowing, etc.)

Lawn-mowing pattern

image borrowed from H. Choset, ‘01

Doesn’t work well for covering

regions with obstacles

Page 8: 16-782 Planning & Decision-making in Robotics Case Study ...maxim/classes/robotplanning_grad/lectures/casemappingcoveragesurvey...Planning for Coverage, Mapping and Surveyal Maxim

Carnegie Mellon University 8

Frontier-based Coverage

• Always move the robot to the nearest cell that hasn’t been

“covered” (observed/visited) yet (one of the frontier cells)

How do you find a path to

the nearest “unobserved” cell?

Page 9: 16-782 Planning & Decision-making in Robotics Case Study ...maxim/classes/robotplanning_grad/lectures/casemappingcoveragesurvey...Planning for Coverage, Mapping and Surveyal Maxim

Carnegie Mellon University 9

Frontier-based Coverage

• Always move the robot to the nearest cell that hasn’t been

“covered” (observed/visited) yet (one of the frontier cells)

How do you find a path to

the nearest “unobserved” cell?

Remember graph transformation

for Multi-goal A*!

(previous lecture)

Page 10: 16-782 Planning & Decision-making in Robotics Case Study ...maxim/classes/robotplanning_grad/lectures/casemappingcoveragesurvey...Planning for Coverage, Mapping and Surveyal Maxim

Carnegie Mellon University 10

Frontier-based Coverage

• Always move the robot to the nearest cell that hasn’t been

“covered” (observed/visited) yet (one of the frontier cells)

How do you find a path to

the nearest “unobserved” cell?

Remember graph transformation

for Multi-goal A*!

(previous lecture)

Page 11: 16-782 Planning & Decision-making in Robotics Case Study ...maxim/classes/robotplanning_grad/lectures/casemappingcoveragesurvey...Planning for Coverage, Mapping and Surveyal Maxim

Carnegie Mellon University 11

Examples of Mapping

• Mapping– Traversal of an unknown map with a goal of fully building it using

on-board sensors (e.g., search for people in an unknown building)

Page 12: 16-782 Planning & Decision-making in Robotics Case Study ...maxim/classes/robotplanning_grad/lectures/casemappingcoveragesurvey...Planning for Coverage, Mapping and Surveyal Maxim

Carnegie Mellon University 12

Examples of Mapping

• Mapping– Traversal of an unknown map with a goal of fully building it using

on-board sensors (e.g., search for people in an unknown building)

Any ideas on planning

for mapping?

Same process as for coverage

except that map gets discovered on the way

Page 13: 16-782 Planning & Decision-making in Robotics Case Study ...maxim/classes/robotplanning_grad/lectures/casemappingcoveragesurvey...Planning for Coverage, Mapping and Surveyal Maxim

Carnegie Mellon University 13

Greedy Mapping (Frontier-based method)

• Always move the robot on a shortest path to the

closest unobserved (or unvisited) cell.

• It always achieves a gain in information.

• Thus, it maps the terrain.

Page 14: 16-782 Planning & Decision-making in Robotics Case Study ...maxim/classes/robotplanning_grad/lectures/casemappingcoveragesurvey...Planning for Coverage, Mapping and Surveyal Maxim

Carnegie Mellon University 14

Greedy Mapping (Frontier-based method)

• Always move the robot on a shortest path to the

closest unobserved (or unvisited) cell.

• Utilizes prior map knowledge, if available

• Can be used for mapping with multiple robots

• Has a reasonably small mapping time

Page 15: 16-782 Planning & Decision-making in Robotics Case Study ...maxim/classes/robotplanning_grad/lectures/casemappingcoveragesurvey...Planning for Coverage, Mapping and Surveyal Maxim

Carnegie Mellon University 15

Examples of Surveyal

• Surveyal

– Visiting a set of waypoints of interest with a goal of surveying

them using on-board sensors (e.g., surveillance)

computing a least-cost path that visits all waypoints of interest (in any order) while

being feasible (e.g., satisfies minimum turning radius, is collision-free, etc.)

Page 16: 16-782 Planning & Decision-making in Robotics Case Study ...maxim/classes/robotplanning_grad/lectures/casemappingcoveragesurvey...Planning for Coverage, Mapping and Surveyal Maxim

Carnegie Mellon University 16

Examples of Surveyal

• Surveyal

– Visiting a set of waypoints of interest with a goal of surveying

them using on-board sensors (e.g., surveillance)

computing a least-cost path that visits all waypoints of interest (in any order) while

being feasible (e.g., satisfies minimum turning radius, is collision-free, etc.)

How can we represent it

as a graph search?

Page 17: 16-782 Planning & Decision-making in Robotics Case Study ...maxim/classes/robotplanning_grad/lectures/casemappingcoveragesurvey...Planning for Coverage, Mapping and Surveyal Maxim

Carnegie Mellon University 17

Planning for Surveyal as Graph Search

• Search graph G = {V, E}

Each node v ∈ V is defined as { α , Ω }

α is a vector of M bits where a 0 bit indicates the corresponding waypoint is

unvisited and 1 bit indicates it is visited.

Ω encodes the waypoint where the robot is currently at and the orientation of the

robot (if the robot is NOT omnidirectional).

00, 0

01, 1 10, 2

11, 2 11, 1

Goal states:

all states where all waypoints have been visited

Page 18: 16-782 Planning & Decision-making in Robotics Case Study ...maxim/classes/robotplanning_grad/lectures/casemappingcoveragesurvey...Planning for Coverage, Mapping and Surveyal Maxim

Carnegie Mellon University 18

Planning for Surveyal as Graph Search

• Search graph G = {V, E}

Each node v ∈ V is defined as { α , Ω }

α is a vector of M bits where a 0 bit indicates the corresponding waypoint is

unvisited and 1 bit indicates it is visited.

Ω encodes the waypoint where the robot is currently at and the orientation of the

robot (if the robot is NOT omnidirectional).

00, 0

01, 1 10, 2

11, 2 11, 1

Goal states:

all states where all waypoints have been visited

Each edge is a feasible path

found by running a low-level motion planner

to find a path from point A to B

Page 19: 16-782 Planning & Decision-making in Robotics Case Study ...maxim/classes/robotplanning_grad/lectures/casemappingcoveragesurvey...Planning for Coverage, Mapping and Surveyal Maxim

Carnegie Mellon University 19

What You Should Know…

• What is coverage and what is mapping

• Frontier-based planning for coverage

• Frontier-based planning for mapping

• How to represent planning for surveyal as graph search