46
CS 547: Sensing and Planning in Robotics Gaurav S. Sukhatme Computer Science Robotics Research Laboratory University of Southern California [email protected] http://robotics.usc.edu/~gaurav

CS 547: Sensing and Planning in Robotics

  • Upload
    coby

  • View
    32

  • Download
    0

Embed Size (px)

DESCRIPTION

CS 547: Sensing and Planning in Robotics. Gaurav S. Sukhatme Computer Science Robotics Research Laboratory University of Southern California [email protected] http://robotics.usc.edu/~gaurav. Administrative Matters. Signup - please fill in the details on one of the sheets - PowerPoint PPT Presentation

Citation preview

Page 1: CS 547: Sensing and Planning in Robotics

CS 547: Sensing and Planning in Robotics

Gaurav S. Sukhatme

Computer Science

Robotics Research Laboratory

University of Southern California

[email protected]

http://robotics.usc.edu/~gaurav

Page 2: CS 547: Sensing and Planning in Robotics

Administrative Matters

• Signup - please fill in the details on one of the sheets

• Web page http://robotics.usc.edu/~gaurav/CS547

• Email list [email protected]

• Grading (3 quizzes 45%, class participation 5%, and project 50%)

• TA: Mike Rubenstein ([email protected])

• Note: First quiz on Sept 8, scores available on Sept 10 by 1pm

Page 3: CS 547: Sensing and Planning in Robotics

Project and Textbook

• Project– Team projects only (exceptions are hard to obtain)– Equipment (Pioneer/Segway robots with sensors,

Player/Stage/Gazebo software)

• Book– Probabilistic Robotics (Thrun, Burgard, Fox)– Available at the Paper Clip in University Village (North of

Jefferson Blvd.)

Page 4: CS 547: Sensing and Planning in Robotics

I expect you to

• come REGULARLY to class• visit the class web page FREQUENTLY• read email EVERY DAY• SPEAK UP when you have a question• START EARLY on your project

• If you don’t– the likelihood of learning anything is small– the likelihood of obtaining a decent grade is small

Page 5: CS 547: Sensing and Planning in Robotics

In this course you will

– learn how to address the fundamental problem of robotics i.e. how to combat uncertainty using the tools of probability theory

– We will explore the advantages and shortcomings of the probabilistic method

– Survey modern applications of robots– Read some cutting edge papers from the

literature

Page 6: CS 547: Sensing and Planning in Robotics

Syllabus and Class Schedule• 8/25 Introduction, math review• 9/1 Math review, Bayes filtering• 9/8 Math review, Quiz 1• 9/15 Quiz 1 discussion, Player/Stage/Gazebo tutorial• 9/22 Kalman and Particle filters• 9/29 Probabilistic Kinematics• 10/6 Sensor Models• 10/13 Localization papers• 10/20 No class, but Project Proposals due to the TA• 10/27 Cooperative localization papers and Quiz 2• 11/3 Quiz 2 discussion, Mapping• 11/10 SLAM• 11/17 Acting under uncertainty• 11/24 Quiz 3• 12/1 Final project demos

Page 7: CS 547: Sensing and Planning in Robotics

Robotics Yesterday

Page 8: CS 547: Sensing and Planning in Robotics

Robotics Today

Page 9: CS 547: Sensing and Planning in Robotics

Robotics Tomorrow?

Page 10: CS 547: Sensing and Planning in Robotics

What is robotics/a robot ?

• Background– Term robot invented by Capek in to mean a

machine that would willing and ably do our dirty work for us

– The first use of robotics as a word appears in Asimovs science

• Definition (Brady): Robotics is the intelligent connection of perception of action

Page 11: CS 547: Sensing and Planning in Robotics

Trends in Robotics Research

Reactive Paradigm (mid-80’s)• no models• relies heavily on good sensing

Probabilistic Robotics (since mid-90’s)• seamless integration of models and sensing• inaccurate models, inaccurate sensors

Hybrids (since 90’s)• model-based at higher levels• reactive at lower levels

Classical Robotics (mid-70’s)• exact models• no sensing necessary

Robots are moving away from factory floors to Entertainment, Toys, Personal service. Medicine, Surgery, Industrial automation (mining, harvesting), Hazardous environments (space, underwater)

Page 12: CS 547: Sensing and Planning in Robotics

Examples

Page 13: CS 547: Sensing and Planning in Robotics

Entertainment Robots: Toys

Page 14: CS 547: Sensing and Planning in Robotics

Entertainment Robots: RoboCup

Page 17: CS 547: Sensing and Planning in Robotics

Mobile Robots as Museum Tour-Guides

Page 18: CS 547: Sensing and Planning in Robotics

Tasks to be Solved by Robots Planning Perception Modeling Localization Interaction Acting Manipulation Cooperation ...

Page 19: CS 547: Sensing and Planning in Robotics

Uncertainty is Inherent/Fundamental

• Uncertainty arises from four major factors:– Environment is stochastic, unpredictable– Robots actions are stochastic– Sensors are limited and noisy– Models are inaccurate, incomplete

Page 20: CS 547: Sensing and Planning in Robotics

Nature of Sensor Data

Odometry Data Range Data

Page 21: CS 547: Sensing and Planning in Robotics

Probabilistic Robotics

Key idea: Explicit representation of uncertainty using the calculus of probability theory

• Perception = state estimation

• Action = utility optimization

Page 22: CS 547: Sensing and Planning in Robotics

Advantages and Pitfalls

• Can accommodate inaccurate models

• Can accommodate imperfect sensors

• Robust in real-world applications

• Best known approach to many hard robotics problems

• Computationally demanding

• False assumptions

• Approximate

Page 23: CS 547: Sensing and Planning in Robotics

Pr(A) denotes probability that proposition A is true.

Axioms of Probability Theory

1)Pr(0 A

1)Pr( True

)Pr()Pr()Pr()Pr( BABABA

0)Pr( False

Page 24: CS 547: Sensing and Planning in Robotics

A Closer Look at Axiom 3

B

BA A BTrue

)Pr()Pr()Pr()Pr( BABABA

Page 25: CS 547: Sensing and Planning in Robotics

Using the Axioms

)Pr(1)Pr(

0)Pr()Pr(1

)Pr()Pr()Pr()Pr(

)Pr()Pr()Pr()Pr(

AA

AA

FalseAATrue

AAAAAA

Page 26: CS 547: Sensing and Planning in Robotics

Discrete Random Variables

• X denotes a random variable.

• X can take on a finite number of values in {x1, x2, …, xn}.

• P(X=xi), or P(xi), is the probability that the random variable X takes on value xi.

• P( ) is called probability mass function.

• E.g.02.0,08.0,2.0,7.0)( RoomP

.

Page 27: CS 547: Sensing and Planning in Robotics

Continuous Random Variables

• X takes on values in the continuum.

• p(X=x), or p(x), is a probability density function.

• E.g.

b

a

dxxpbax )(]),[Pr(

x

p(x)

Page 28: CS 547: Sensing and Planning in Robotics

Joint and Conditional Probability

• P(X=x and Y=y) = P(x,y)

• If X and Y are independent then

P(x,y) = P(x) P(y)

• P(x | y) is the probability of x given y

P(x | y) = P(x,y) / P(y)

P(x,y) = P(x | y) P(y)

• If X and Y are independent then

P(x | y) = P(x)

Page 29: CS 547: Sensing and Planning in Robotics

Law of Total Probability

y

yxPxP ),()(

y

yPyxPxP )()|()(

x

xP 1)(

Discrete case

1)( dxxp

Continuous case

dyypyxpxp )()|()(

dyyxpxp ),()(

Page 30: CS 547: Sensing and Planning in Robotics

Reverend Thomas Bayes, FRS (1702-1761)

Clergyman and mathematician who first used probability inductively and established a mathematical basis for probability inference

Page 31: CS 547: Sensing and Planning in Robotics

Bayes Formula

evidence

prior likelihood

)(

)()|()(

)()|()()|(),(

yP

xPxyPyxP

xPxyPyPyxPyxP

Page 32: CS 547: Sensing and Planning in Robotics

Normalization

)()|(

1)(

)()|()(

)()|()(

1

xPxyPyP

xPxyPyP

xPxyPyxP

x

yx

xyx

yx

yxPx

xPxyPx

|

|

|

aux)|(:

aux

1

)()|(aux:

Algorithm:

Page 33: CS 547: Sensing and Planning in Robotics

Conditioning

• Total probability:

• Bayes rule and background knowledge:

)|(

)|(),|(),|(

zyP

zxPzxyPzyxP

dzyzPzyxPyxP )|(),|()(

Page 34: CS 547: Sensing and Planning in Robotics

Simple Example of State Estimation

• Suppose a robot obtains measurement z• What is P(open|z)?

Page 35: CS 547: Sensing and Planning in Robotics

Causal vs. Diagnostic Reasoning

• P(open|z) is diagnostic.

• P(z|open) is causal.

• Often causal knowledge is easier to obtain.

• Bayes rule allows us to use causal knowledge:

)()()|(

)|(zP

openPopenzPzopenP

count frequencies!

Page 36: CS 547: Sensing and Planning in Robotics

Example

• P(z|open) = 0.6 P(z|open) = 0.3• P(open) = P(open) = 0.5

67.03

2

5.03.05.06.0

5.06.0)|(

)()|()()|(

)()|()|(

zopenP

openpopenzPopenpopenzP

openPopenzPzopenP

• z raises the probability that the door is open.

Page 37: CS 547: Sensing and Planning in Robotics

Combining Evidence

• Suppose our robot obtains another observation z2.

• How can we integrate this new information?

• More generally, how can we estimateP(x| z1...zn )?

Page 38: CS 547: Sensing and Planning in Robotics

Recursive Bayesian Updating

),,|(

),,|(),,,|(),,|(

11

11111

nn

nnnn

zzzP

zzxPzzxzPzzxP

Markov assumption: zn is independent of z1,...,zn-1 if we know x.

)()|(

),,|()|(

),,|(

),,|()|(),,|(

...1...1

11

11

111

xPxzP

zzxPxzP

zzzP

zzxPxzPzzxP

ni

in

nn

nn

nnn

Page 39: CS 547: Sensing and Planning in Robotics

Example: Second Measurement

• P(z2|open) = 0.5 P(z2|open) = 0.6

• P(open|z1)=2/3

625.08

5

31

53

32

21

32

21

)|()|()|()|(

)|()|(),|(

1212

1212

zopenPopenzPzopenPopenzP

zopenPopenzPzzopenP

• z2 lowers the probability that the door is open.

Page 40: CS 547: Sensing and Planning in Robotics

Actions

• Often the world is dynamic since– actions carried out by the robot,– actions carried out by other agents,– or just the time passing by

change the world.

• How can we incorporate such actions?

Page 41: CS 547: Sensing and Planning in Robotics

Typical Actions

• The robot turns its wheels to move• The robot uses its manipulator to grasp an

object• Plants grow over time…

• Actions are never carried out with absolute certainty.

• In contrast to measurements, actions generally increase the uncertainty.

Page 42: CS 547: Sensing and Planning in Robotics

Modeling Actions

• To incorporate the outcome of an action u into the current “belief”, we use the conditional pdf

P(x|u,x’)

• This term specifies the pdf that executing u changes the state from x’ to x.

Page 43: CS 547: Sensing and Planning in Robotics

Example: Closing the door

Page 44: CS 547: Sensing and Planning in Robotics

State Transitions

P(x|u,x’) for u = “close door”:

If the door is open, the action “close door” succeeds in 90% of all cases.

open closed0.1 1

0.9

0

Page 45: CS 547: Sensing and Planning in Robotics

Integrating the Outcome of Actions

')'()',|()|( dxxPxuxPuxP

)'()',|()|( xPxuxPuxP

Continuous case:

Discrete case:

Page 46: CS 547: Sensing and Planning in Robotics

Example: The Resulting Belief

)|(1161

83

10

85

101

)(),|(

)(),|(

)'()',|()|(

1615

83

11

85

109

)(),|(

)(),|(

)'()',|()|(

uclosedP

closedPcloseduopenP

openPopenuopenP

xPxuopenPuopenP

closedPcloseduclosedP

openPopenuclosedP

xPxuclosedPuclosedP