CS 547: Sensing and Planning in Robotics
description
Transcript of CS 547: Sensing and Planning in Robotics
![Page 1: CS 547: Sensing and Planning in Robotics](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/1.jpg)
CS 547: Sensing and Planning in Robotics
Gaurav S. Sukhatme
Computer Science
Robotics Research Laboratory
University of Southern California
http://robotics.usc.edu/~gaurav
![Page 2: CS 547: Sensing and Planning in Robotics](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/7.jpg)
Robotics Yesterday
![Page 8: CS 547: Sensing and Planning in Robotics](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/8.jpg)
Robotics Today
![Page 9: CS 547: Sensing and Planning in Robotics](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/9.jpg)
Robotics Tomorrow?
![Page 10: CS 547: Sensing and Planning in Robotics](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/12.jpg)
Examples
![Page 13: CS 547: Sensing and Planning in Robotics](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/13.jpg)
Entertainment Robots: Toys
![Page 14: CS 547: Sensing and Planning in Robotics](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/14.jpg)
Entertainment Robots: RoboCup
![Page 17: CS 547: Sensing and Planning in Robotics](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/17.jpg)
Mobile Robots as Museum Tour-Guides
![Page 18: CS 547: Sensing and Planning in Robotics](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/18.jpg)
Tasks to be Solved by Robots Planning Perception Modeling Localization Interaction Acting Manipulation Cooperation ...
![Page 19: CS 547: Sensing and Planning in Robotics](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/19.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/20.jpg)
Nature of Sensor Data
Odometry Data Range Data
![Page 21: CS 547: Sensing and Planning in Robotics](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/21.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/22.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/23.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/24.jpg)
A Closer Look at Axiom 3
B
BA A BTrue
)Pr()Pr()Pr()Pr( BABABA
![Page 25: CS 547: Sensing and Planning in Robotics](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/25.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/26.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/27.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/28.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/29.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/30.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/31.jpg)
Bayes Formula
evidence
prior likelihood
)(
)()|()(
)()|()()|(),(
yP
xPxyPyxP
xPxyPyPyxPyxP
![Page 32: CS 547: Sensing and Planning in Robotics](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/32.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/33.jpg)
Conditioning
• Total probability:
• Bayes rule and background knowledge:
)|(
)|(),|(),|(
zyP
zxPzxyPzyxP
dzyzPzyxPyxP )|(),|()(
![Page 34: CS 547: Sensing and Planning in Robotics](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/34.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/35.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/36.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/37.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/38.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/39.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/40.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/41.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/42.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/43.jpg)
Example: Closing the door
![Page 44: CS 547: Sensing and Planning in Robotics](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/44.jpg)
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](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/45.jpg)
Integrating the Outcome of Actions
')'()',|()|( dxxPxuxPuxP
)'()',|()|( xPxuxPuxP
Continuous case:
Discrete case:
![Page 46: CS 547: Sensing and Planning in Robotics](https://reader036.fdocuments.net/reader036/viewer/2022062422/56813d4c550346895da70615/html5/thumbnails/46.jpg)
Example: The Resulting Belief
)|(1161
83
10
85
101
)(),|(
)(),|(
)'()',|()|(
1615
83
11
85
109
)(),|(
)(),|(
)'()',|()|(
uclosedP
closedPcloseduopenP
openPopenuopenP
xPxuopenPuopenP
closedPcloseduclosedP
openPopenuclosedP
xPxuclosedPuclosedP