probabilistic robotics
DESCRIPTION
Probabilistic Robotics. Probabilistic Motion Models. Robot Motion. Robot motion is inherently uncertain. How can we model this uncertainty?. Dynamic Bayesian Network for Controls, States, and Sensations. Probabilistic Motion Models. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/1.jpg)
Probabilistic Robotics
Probabilistic Motion Models
![Page 2: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/2.jpg)
2
Robot Motion• Robot motion is inherently uncertain.• How can we model this uncertainty?
![Page 3: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/3.jpg)
3
Dynamic Bayesian Network for Controls, States, and Sensations
![Page 4: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/4.jpg)
4
Probabilistic Motion Models•To implement the Bayes Filter, we
need the transition model p(x | x’, u).•The term p(x | x’, u) specifies a
posterior probability, that action u carries the robot from x’ to x.
• In this section we will specify, how p(x | x’, u) can be modeled based on the motion equations.
![Page 5: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/5.jpg)
5
Coordinate Systems• In general the configuration of a robot can be
described by six parameters.• Three-dimensional cartesian coordinates plus
three Euler angles pitch, roll, and tilt.• Throughout this section, we consider robots
operating on a planar surface.• The state space of such
systems is three-dimensional (x,y,).
![Page 6: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/6.jpg)
6
Typical Motion Models• In practice, one often finds two types of
motion models:• Odometry-based• Velocity-based (dead reckoning)
• Odometry-based models are used when systems are equipped with wheel encoders.
• Velocity-based models have to be applied when no wheel encoders are given.
• They calculate the new pose based on the velocities and the time elapsed.
![Page 7: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/7.jpg)
7
Example Wheel EncodersThese modules require +5V and GND to power them, and provide a 0 to 5V output. They provide +5V output when they "see" white, and a 0V output when they "see" black.
These disks are manufactured out of high quality laminated color plastic to offer a very crisp black to white transition. This enables a wheel encoder sensor to easily see the transitions.
Source: http://www.active-robots.com/
![Page 8: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/8.jpg)
8
Dead Reckoning•Derived from “deduced reckoning.”•Mathematical procedure for
determining the present location of a vehicle.
•Achieved by calculating the current pose of the vehicle based on its velocities and the time elapsed.
![Page 9: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/9.jpg)
9
Reasons for Motion Errors
bump
ideal case different wheeldiameters
carpetand many more …
![Page 10: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/10.jpg)
Odometry Model
22 )'()'( yyxxtrans
)','(atan21 xxyyrot
12 ' rotrot
• Robot moves from to . • Odometry information .
,, yx ',',' yx
transrotrotu ,, 21
trans1rot
2rot
,, yx
',',' yx
![Page 11: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/11.jpg)
11
The atan2 Function• Extends the inverse tangent and correctly
copes with the signs of x and y.
![Page 12: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/12.jpg)
Noise Model for Odometry•The measured motion is given by the
true motion corrupted with noise.
||||11 211
ˆtransrotrotrot
||||22 221
ˆtransrotrotrot
|||| 2143
ˆrotrottranstranstrans
![Page 13: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/13.jpg)
Typical Distributions for Probabilistic Motion Models
2
2
221
221)(
x
ex
2
2
2
6||66|x|if0
)(2
xx
Normal distribution Triangular distribution
![Page 14: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/14.jpg)
14
Calculating the Probability (zero-centered)• For a normal distribution
• For a triangular distribution
1. Algorithm prob_normal_distribution(a,b):
2. return
1. Algorithm prob_triangular_distribution(a,b):
2. return
![Page 15: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/15.jpg)
15
Calculating the Posterior Given x, x’, and u
22 )'()'( yyxxtrans )','(atan21 xxyyrot
12 ' rotrot 22 )'()'(ˆ yyxxtrans )','(atan2ˆ
1 xxyyrot
12ˆ'ˆrotrot
)ˆ|ˆ|,ˆ(prob trans21rot11rot1rot1 p|))ˆ||ˆ(|ˆ,ˆ(prob rot2rot14trans3transtrans2 p
)ˆ|ˆ|,ˆ(prob trans22rot12rot2rot3 p
1. Algorithm motion_model_odometry(x,x’,u)2. 3. 4. 5. 6. 7. 8. 9. 10. 11. return p1 · p2 · p3
odometry values (u)
values of interest (x,x’)
![Page 16: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/16.jpg)
Application• Repeated application of the sensor model
for short movements.• Typical banana-shaped distributions
obtained for 2d-projection of 3d posterior.
x’u
p(x|u,x’)
u
x’
![Page 17: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/17.jpg)
Sample-based Density Representation
![Page 18: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/18.jpg)
18
Sample-based Density Representation
![Page 19: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/19.jpg)
19
How to Sample from Normal or Triangular Distributions?• Sampling from a normal distribution
• Sampling from a triangular distribution
1. Algorithm sample_normal_distribution(b):
2. return
1. Algorithm sample_triangular_distribution(b):
2. return
![Page 20: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/20.jpg)
20
Normally Distributed Samples
106 samples
![Page 21: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/21.jpg)
21
For Triangular Distribution
103 samples 104 samples
106 samples105 samples
![Page 22: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/22.jpg)
22
Rejection Sampling
• Sampling from arbitrary distributions
1. Algorithm sample_distribution(f,b): 2. repeat3. 4. 5. until ( )6. return
![Page 23: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/23.jpg)
23
Example•Sampling from
![Page 24: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/24.jpg)
Sample Odometry Motion Model1. Algorithm sample_motion_model(u, x): 1. 2. 3.
4. 5. 6.
7. Return
)||sample(ˆ21111 transrotrotrot
|))||(|sample(ˆ2143 rotrottranstranstrans
)||sample(ˆ22122 transrotrotrot
)ˆcos(ˆ' 1rottransxx )ˆsin(ˆ' 1rottransyy
21ˆˆ' rotrot
',',' yx
,,,,, 21 yxxu transrotrot
sample_normal_distribution
![Page 25: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/25.jpg)
Sampling from Our Motion Model
Start
![Page 26: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/26.jpg)
Examples (Odometry-Based)
![Page 27: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/27.jpg)
27
Velocity-Based Model
![Page 28: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/28.jpg)
28
Equation for the Velocity Model
Center of circle:
with
![Page 29: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/29.jpg)
29
Posterior Probability for Velocity Model
![Page 30: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/30.jpg)
30
Sampling from Velocity Model
![Page 31: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/31.jpg)
Examples (velocity based)
![Page 32: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/32.jpg)
Map-Consistent Motion Model
)',|( xuxp ),',|( mxuxp
)',|()|(),',|( xuxpmxpmxuxp Approximation:
![Page 33: Probabilistic Robotics](https://reader036.vdocuments.us/reader036/viewer/2022081603/56815bac550346895dc9ae77/html5/thumbnails/33.jpg)
33
Summary• We discussed motion models for odometry-based
and velocity-based systems• We discussed ways to calculate the posterior
probability p(x| x’, u).• We also described how to sample from p(x| x’, u).• Typically the calculations are done in fixed time
intervals t.• In practice, the parameters of the models have to
be learned.• We also discussed an extended motion model that
takes the map into account.