introduction to mobile robotics probabilistic motion...

43
1 Probabilistic Motion Models Introduction to Mobile Robotics Wolfram Burgard

Upload: trinhtuong

Post on 30-Mar-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

1

Probabilistic Motion Models

Introduction to Mobile Robotics

Wolfram Burgard

Page 2: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

2

Robot Motion

Robot motion is inherently uncertain. How can we model this uncertainty?

Page 3: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

3

Dynamic Bayesian Network for Controls, States, and Sensations

Page 4: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

4

Probabilistic Motion Models To implement the Bayes Filter, we need the

transition model .

The term specifies a posterior probability, that action ut carries the robot from xt-1 to xt.

In this section we will discuss, how can be modeled based on the motion equations and the uncertain outcome of the movements.

Page 5: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

5

Coordinate Systems The configuration of a typical wheeled robot in 3D

can be described by six parameters.

This are the three-dimensional Cartesian coordinates plus the three Euler angles for roll, pitch, and yaw.

For simplicity, throughout this section we consider robots operating on a planar surface.

The state space of such systems is three-dimensional (x,y,θ).

Page 6: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

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: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

7

Example Wheel Encoders These modules 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: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

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.

Historically used to log the position of ships.

[Image source: Wikipedia, LoKiLeCh]

Page 9: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

9

Reasons for Motion Errors of Wheeled Robots

bump

ideal case different wheel diameters

carpet and many more …

Page 10: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

Odometry Model

22 )'()'( yyxxtrans −+−=δ

θδ −−−= )','(atan21 xxyyrot

12 ' rotrot δθθδ −−=

• Robot moves from to . • Odometry information .

θ,, yx ',',' θyx

transrotrotu δδδ ,, 21=

transδ1rotδ

2rotδ

θ,, yx

',',' θyx

Page 11: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

11

The atan2 Function Extends the inverse tangent and correctly

copes with the signs of x and y.

Page 12: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

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: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

Typical Distributions for Probabilistic Motion Models

2

2

221

221)( σ

σ πσε

x

ex−

=

−>

=2

2

2

6||6

6|x|if0)(2

σσ

σε

σ xx

Normal distribution Triangular distribution

Page 14: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

14

Calculating the Probability Density (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

query point

std. deviation

Page 15: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

1. Algorithm motion_model_odometry(x, x’,u) 2. 3. 4. 5. 6. 7. 8. 9. 10.

11. return p1 · p2 · p3

15

Calculating the Posterior Given x, x’, and Odometry

22 )'()'( yyxxtrans −+−=δθδ −−−= )','(atan21 xxyyrot

12 ' rotrot δθθδ −−=22 )'()'(ˆ yyxxtrans −+−=δθδ −−−= )','(atan2ˆ

1 xxyyrot

12ˆ'ˆrotrot δθθδ −−=

)||,ˆ(prob trans21rot11rot1rot1 δαδαδδ +−=p|))||(|,ˆ(prob rot2rot14trans3transtrans2 δδαδαδδ ++−=p

)||,ˆ(prob trans22rot12rot2rot3 δαδαδδ +−=p

odometry params (u)

values of interest (x,x’)

odometry hypotheses

Page 16: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

Application Repeated application of the motion model

for short movements. Typical banana-shaped distributions

obtained for the 2d-projection of the 3d posterior.

x u

u

x

Page 17: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

Sample-Based Density Representation

Page 18: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

18

Sample-Based Density Representation

Page 19: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

19

How to Sample from a Normal Distribution? Sampling from a normal distribution

1. Algorithm sample_normal_distribution(b):

2. return

Page 20: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

20

Normally Distributed Samples

106 samples

Page 21: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

21

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 22: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

22

For Triangular Distribution

103 samples 104 samples

106 samples 105 samples

Page 23: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

How to Obtain Samples from Arbitrary Functions?

23

Page 24: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

Rejection Sampling Sampling from arbitrary distributions Sample x from a uniform distribution from [-b,b] Sample c from [0, max f] if f(x) > c keep the sample

otherwise reject the sample

24

c

x f(x)

c’

x’

f(x’)

OK

Page 25: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

25

Rejection Sampling

Sampling from arbitrary distributions

1. Algorithm sample_distribution(f,b): 2. repeat 3. 4. 5. until ( ) 6. return

Page 26: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

26

Example Sampling from

Page 27: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

Sample Odometry Motion Model 1. 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 28: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

Examples (Odometry-Based)

Page 29: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

Sampling from Our Motion Model

Start

Page 30: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

30

Velocity-Based Model

θ-90

Page 31: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

Noise Model for the Velocity-Based Model

31

The measured motion is given by the true motion corrupted with noise. Discussion: What is the disadvantage of this

noise model?

|||| 21ˆ ωααε ++= vvv

|||| 43ˆ ωααεωω ++= v

Page 32: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

Noise Model for the Velocity-Based Model

32

The -circle constrains the final orientation (2D manifold in a 3D space) Better approach:

|||| 21ˆ ωααε ++= vvv

|||| 65ˆ ωααεγ += v

|||| 43ˆ ωααεωω ++= v

Term to account for the final rotation

)ˆ,ˆ( ωv

Page 33: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

Motion Including 3rd Parameter

33

Term to account for the final rotation

Page 34: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

34

Equation for the Velocity Model

Center of circle:

some constant (distance to ICC) (center of circle is orthogonal to the initial heading)

Page 35: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

35

Equation for the Velocity Model

Center of circle:

some constant

some constant (the center of the circle lies on a ray half way between x and x’ and is orthogonal to the line between x and x’)

Page 36: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

36

Equation for the Velocity Model

Center of circle:

some constant

Allows us to solve the equations to:

Page 37: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

37

Equation for the Velocity Model

and

Page 38: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

Equation for the Velocity Model The parameters of the circle:

allow for computing the velocities as

38

Page 39: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

39

Posterior Probability for Velocity Model

Page 40: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

40

Sampling from Velocity Model

Page 41: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

Examples (Velocity-Based)

Page 42: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

Map-Consistent Motion Model

),|'( xuxp ),,|'( mxuxp≠

),|'()|'(),,|'( xuxpmxpmxuxp η=Approximation:

Page 43: Introduction to Mobile Robotics Probabilistic Motion Modelsais.informatik.uni-freiburg.de/.../06-motion-models.pdf ·  · 2017-08-07Robot Motion Robot motion is ... Algorithm motion_model_odometry

43

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 how to improve this motion

model to take the map into account.