Upload
others
View
12
Download
0
Embed Size (px)
Citation preview
Ramviyas Nattanmai Parasuraman, [email protected] CSCI/ATRI 4530/6530 – Introduction to Robotics – Lecture 30
Introduction to Robotics CSCI/ARTI 4530/6530
Dr. Ramviyas Nattanmai Parasuraman,Asst. Professor, Computer Science, UGA
11/06/2018
CSCI/ATRI 4530/6530 – Introduction to Robotics – Lecture 30Ramviyas Nattanmai Parasuraman
CVAP, KTH SwedenRamviyas Nattanmai Parasuraman, [email protected] 2
Agenda
o For today
o Robot Motion Models – Odometry and Velocity Models
o Slides from Thrun et al. – ProbablisticRobotics
CSCI/ATRI 4530/6530 – Introduction to Robotics – Lecture 30Ramviyas Nattanmai Parasuraman
CVAP, KTH SwedenRamviyas Nattanmai Parasuraman, [email protected] 3
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.
4
Robot Motion• Robot motion is inherently uncertain.
• How can we model this uncertainty?
5
Dynamic Bayesian Network for Controls, States, and Sensations
CSCI/ATRI 4530/6530 – Introduction to Robotics – Lecture 30Ramviyas Nattanmai Parasuraman
CVAP, KTH SwedenRamviyas Nattanmai Parasuraman, [email protected] 6
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,).
CSCI/ATRI 4530/6530 – Introduction to Robotics – Lecture 30Ramviyas Nattanmai Parasuraman
CVAP, KTH SwedenRamviyas Nattanmai Parasuraman, [email protected] 7
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.
CSCI/ATRI 4530/6530 – Introduction to Robotics – Lecture 30Ramviyas Nattanmai Parasuraman
CVAP, KTH SwedenRamviyas Nattanmai Parasuraman, [email protected] 8
Example Wheel Encoders
These 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/
CSCI/ATRI 4530/6530 – Introduction to Robotics – Lecture 30Ramviyas Nattanmai Parasuraman
CVAP, KTH SwedenRamviyas Nattanmai Parasuraman, [email protected] 9
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.
CSCI/ATRI 4530/6530 – Introduction to Robotics – Lecture 30Ramviyas Nattanmai Parasuraman
CVAP, KTH SwedenRamviyas Nattanmai Parasuraman, [email protected] 10
Reasons for Motion Errors
bump
ideal casedifferent wheel
diameters
carpet
and many more …
CSCI/ATRI 4530/6530 – Introduction to Robotics – Lecture 30Ramviyas Nattanmai Parasuraman
CVAP, KTH SwedenRamviyas Nattanmai Parasuraman, [email protected]
Odometry Model
22 )'()'( yyxxtrans −+−=
−−−= )','(atan21 xxyyrot
12 ' rotrot −−=
• Robot moves from to .
• Odometry information .
,, yx ',',' yx
transrotrotu ,, 21=
trans1rot
2rot
,, yx
',',' yx
CSCI/ATRI 4530/6530 – Introduction to Robotics – Lecture 30Ramviyas Nattanmai Parasuraman
CVAP, KTH SwedenRamviyas Nattanmai Parasuraman, [email protected] 12
The atan2 Function
• Extends the inverse tangent and correctly copes with the signs of x and y.
CSCI/ATRI 4530/6530 – Introduction to Robotics – Lecture 30Ramviyas Nattanmai Parasuraman
CVAP, KTH SwedenRamviyas Nattanmai Parasuraman, [email protected]
Noise Model for Odometry
The measured motion is given by the true motion corrupted with noise.
||||11 211
ˆtransrotrotrot ++=
||||22 221
ˆtransrotrotrot ++=
|||| 2143
ˆrotrottranstranstrans +++=
CSCI/ATRI 4530/6530 – Introduction to Robotics – Lecture 30Ramviyas Nattanmai Parasuraman
CVAP, KTH SwedenRamviyas Nattanmai Parasuraman, [email protected]
Typical Distributions for Probabilistic Motion Models
2
2
2
2
1
22
1)(
x
ex−
=
−
=
2
2
2
6
||6
6|x|if0
)(2
xx
Normal distribution Triangular distribution
CSCI/ATRI 4530/6530 – Introduction to Robotics – Lecture 30Ramviyas Nattanmai Parasuraman
CVAP, KTH SwedenRamviyas Nattanmai Parasuraman, [email protected] 15
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
16
Calculating the Posterior Given x, x’, and u
22 )'()'( yyxxtrans −+−=
−−−= )','(atan21 xxyyrot
12 ' rotrot −−=
22 )'()'(ˆ yyxxtrans −+−=
−−−= )','(atan2ˆ1 xxyyrot
12ˆ'ˆrotrot −−=
)ˆ|ˆ|,ˆ(prob t rans21rot11rot1rot1 +−=p
|))ˆ||ˆ(|ˆ,ˆ(prob rot2rot14trans3transtrans2 ++−=p
)ˆ|ˆ|,ˆ(prob t rans22rot12rot2rot3 +−=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’)
CSCI/ATRI 4530/6530 – Introduction to Robotics – Lecture 30Ramviyas Nattanmai Parasuraman
CVAP, KTH SwedenRamviyas Nattanmai Parasuraman, [email protected]
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’
Sample-based Density Representation
19
Sample-based Density Representation
CSCI/ATRI 4530/6530 – Introduction to Robotics – Lecture 30Ramviyas Nattanmai Parasuraman
CVAP, KTH SwedenRamviyas Nattanmai Parasuraman, [email protected] 20
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
21
Normally Distributed Samples
106 samples
22
For Triangular Distribution
103 samples 104 samples
106 samples105 samples
CSCI/ATRI 4530/6530 – Introduction to Robotics – Lecture 30Ramviyas Nattanmai Parasuraman
CVAP, KTH SwedenRamviyas Nattanmai Parasuraman, [email protected] 23
Rejection Sampling
Sampling from arbitrary distributions
1. Algorithm sample_distribution(f,b):
2. repeat
3.
4.
5. until ( )
6. return
CSCI/ATRI 4530/6530 – Introduction to Robotics – Lecture 30Ramviyas Nattanmai Parasuraman
CVAP, KTH SwedenRamviyas Nattanmai Parasuraman, [email protected] 24
Example
Sampling from
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
Sampling from Our Motion Model
Start
Examples (Odometry-Based)
28
Velocity-Based Model
29
Equation for the Velocity Model
Center of circle:
with
30
Posterior Probability for Velocity Model
31
Sampling from Velocity Model
Examples (velocity based)
Map-Consistent Motion Model
)',|( xuxp ),',|( mxuxp
)',|()|(),',|( xuxpmxpmxuxp =Approximation:
CSCI/ATRI 4530/6530 – Introduction to Robotics – Lecture 30Ramviyas Nattanmai Parasuraman
CVAP, KTH SwedenRamviyas Nattanmai Parasuraman, [email protected] 34
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.