SlideShare a Scribd company logo
1 of 47
Download to read offline
SBE 403 B: Bioelectronic Systems (Biomedical Robotics)
Lecture 08
Localization
Muhammad Rushdi
mrushdi@eng1.cu.edu.eg
Main Problems in Robotics
• What are the basic issues to be resolved and what must we
learn in order to be able to program a robot to perform its
tasks?
• Problem 1: Forward Kinematics
• Problem 2: Inverse Kinematics
• Problem 3: Velocity Kinematics Robot localization: The• Problem 3: Velocity Kinematics
• Problem 4: Path Planning
• Problem 5: Vision
• Problem 6: Dynamics
• Problem 7: Position Control
• Problem 8: Force Control
2
process by which a robot
determines its current
position given its previous
position and sensor
information.
Textbook
• Ch. 6 Localization
Peter Corke:
Robotics, Vision andRobotics, Vision and
Control - Fundamental
Algorithms in MATLAB®.
http://www.petercorke.com/R
VC/
3
Classical Location Estimation
4
Location Estimation with Uncertainty
High UncertaintyLow Uncertainty
5
Multiple Hypotheses
Location Estimation with Uncertainty
• Determining the PDF based on knowledge of how the
vehicle moves and its observations of the world is a problem
in estimation which can be defined as:
“the process of inferring the value of some quantity of
interest, x, by processing data that is in some way
dependent on x.”dependent on x.”
• For our robot localization problem the true and estimated
states are vector quantities so uncertainty will be
represented as a covariance matrix. The diagonal elements
represent uncertainty of corresponding states, and the off-
diagonal elements represent correlations between states.
6
Location Estimation with Uncertainty
• Example: A ship’s navigator
estimates location by
measuring the bearing angles
to known landmarks or
celestial objects, and a GPS
receiver estimates latitudereceiver estimates latitude
and longitude by observing
the time delay from moving
satellites whose location is
known.
7
http://pubs.usgs.gov/ds/675/html/position_nav.html
Estimation Scenarios
1. Dead Reckoning (Find a robot location with
odometer information)
2. Using a Map (Find a robot location with
odometer information and a map)
3. Creating a Map (Given the robot location,3. Creating a Map (Given the robot location,
create a map)
4. Localization and Mapping (Find the robot
location and create a map simultaneously)
5. Monte-Carlo Methods (Multiple hypothses
and non-Gaussian distributions allowed) 8
1. Dead Reckoning
• Dead reckoning is the estimation of a robot’s location
based on its estimated speed, direction and time of travel
with respect to a previous estimate.
9
1. Dead Reckoning: Modeling the Vehicle
• The first step in estimating the robot’s position is to write a
function, f(·), that describes how the vehicle’s configuration
changes from one time step to the next.
• Eq. 4.2 describes evolution of the robot’s configuration as a
function of its control inputs,
however for real robots we rarely have access to these
control inputs.
• Most robotic platforms have proprietary motion control
systems that accept motion commands from the user
(speed and direction) and report odometry information.
10
1. Dead Reckoning: Odometry
• An odometer is a sensor that measures distance travelled,
typically by measuring the angular rotation of the wheels.
• The direction of travel can be measured using an electronic
compass, or the change in heading can be measured using
a gyroscope or differential odometry.
11
http://people.tamu.edu/~animodor/research.html
1. Dead Reckoning: Odometry
• These sensors are imperfect due to systematic errors such
an incorrect wheel radius or gyroscope bias, and random
errors such as slip between wheels and the ground, or the
effect of turning. We consider odometry to comprise both
distance and heading information.
12http://act.rasip.fer.hr/groups_amor_odometry.php
1. Dead Reckoning: A discrete-time model
• Instead of using Eq. 4.2 directly we will write a discrete-time
model for the evolution of configuration based on odometry
where δ<k>=(δd, δθ) is the distance travelled and change in
heading over the preceding interval, and k is the time step.
• The initial pose is represented in SE(2) as
13.
1. Dead Reckoning: A discrete-time model
• We assume that motion over the time interval is small so the
order of applying the displacements is not significant. We
choose to move forward in the vehicle x-direction by δd, and
then rotate by δθ giving the new configuration
14.
1. Dead Reckoning: A discrete-time model
• …or as a 3-vector:
which gives the new configuration in terms of the previous
configuration and the odometry.
• However this assumes that odometry is perfect, which is not
realistic. To model the error in odometry we add continuous
random variables vd and vθ to δd and δθ respectively.
15.
1. Dead Reckoning: A discrete-time model
• The robot’s configuration at the next time step, including the
odometry error, is
which is the required function f(·)
where k is the time step, δ<k> is the odometry
measurement and v<k> the random measurement noise
over the preceding interval. 16.
1. Dead Reckoning: A discrete-time model
• In the absence of any information to the contrary we model
the odometry noise as v =(vd, vθ) ∼ N(0, V), a zero-mean
Gaussian process with variance
• This matrix, the covariance matrix, is diagonal which means
that the errors in distance and heading are independent.
Choosing a value for V is not always easy but we can
conduct experiments or make some reasonable engineering
assumptions.
17.
1. Dead Reckoning: Estimating Pose
• The problem we face is how to best estimate our new pose
given the previous pose and noisy odometry.
• The mathematical tool that we will use is the Kalman filter
which provides the optimal estimate for a system in which
the noise is zero-mean and Gaussian.
• In this application the state of the Kalman filter is the• In this application the state of the Kalman filter is the
estimated configuration of the robot. The filter is a recursive
algorithm that updates, at each time step, the optimal
estimate of the unknown true configuration and the
uncertainty associated with that estimate. That is, it provides
the best estimate of where we are and how certain we are
about that.
18.
1. Dead Reckoning: Kalman Filtering
• The Kalman filter is formulated for linear systems but our
model of the vehicle’s motion Eq. 6.3 is non-linear. We
create a local linear approximation or linearization (with a
truncated Taylor series) of the function x^<k> by
with respect to the current state estimate x^<k>. The terms
Fx and Fv are Jacobians which are vector versions of
derivatives which are sometimes written as ∂f/∂x and ∂f/∂v
respectively. This approach to estimation of a non-linear
system is known as the extended Kalman filter (EKF).
19.
1. Dead Reckoning: Kalman Filtering
• The Jacobians are obtained by differentiating
Eq. 6.2 and evaluating them for v= 0
• giving
20
1. Dead Reckoning: Kalman Filtering
21
1. Dead Reckoning: Kalman Filtering
22
1. Dead Reckoning: Kalman Filtering
23
2. Using a Map: Observe Known Features
• We have seen how uncertainty in position grows without
bound using dead-reckoning alone.
• The solution is to bring in new information from
observations of known features (landmarks whose position
is known) in the world.is known) in the world.
• The robot is equipped with a sensor that provides
observations of the features with respect to the robot as
described by
where xv the vehicle state, xf is the known location of the
observed feature in the world frame and w is a random
variable that models errors in the sensor. 24
2. Using a Map: Laser Rangefinders
• To make this tangible we will consider a common type
of sensor that measures the range and bearing angle
to a landmark in the environment, for instance a radar
or a scanning-laser rangefinder.
25
https://msdn.microsoft.com/en-us/library/bb483042.aspx
2. Using a Map: Noisy Observations
• The sensor is mounted onboard the robot so the
observation of the ith feature xfi= (xi, yi) is
• where z =(r, β)T and r is the range, β the bearing
Something wrong?
• where z =(r, β)T and r is the range, β the bearing
angle, and the measurement noise is
• The diagonal covariance matrix indicates that range
and bearing errors are independent. 26
2. Using a Map: Noisy Observations
• Using Eq. 6.9 the robot can estimate the range and
bearing angle to the feature based on its own estimated
position and the known position of the feature from the
map.
• Any difference between the observation and the estimated
observation indicates an error in the robot’s positionobservation indicates an error in the robot’s position
estimate – it isn’t where it thought it was. This difference
is key to the operation of the Kalman filter. It is called the
innovation since it represents new information. The
Kalman filter uses the innovation to correct the state
estimate and update the uncertainty estimate P<k>.
27
2. Using a Map: Linearized Observation
Model
• We linearize the observation Eq. 6.8 and write
where the Jacobians are obtained by differentiating
Eq. 6.9 yieldingEq. 6.9 yielding
28
2. Using a Map: Kalman Update
• Now we use the innovation to update the predicted
state computed earlier using Eq. 6.6 and Eq. 6.7
Kalman gain matrix
which are the Kalman filter update equations.
These take the predicted values for the next time
step denoted k + 1|k and apply information from
time step k +1 to compute values denoted k +1|k
+1.
29
Subtraction from the covariance provides a means for
covariance to decrease which was not possible for the
dead-reckoning case of Eq. 6.7.
2. Using a Map: Kalman Update
• The innovation has been added to the
estimated state after multiplying by the
Kalman gain matrix K which is defined as
where W^ is the estimated covariance of the
sensor noise.
30
2. Using a Map: EKF Simulation
31
2. Using a Map: EKF Simulation
32
2. Using a Map: Flexibility of EKF
• This EKF framework allows data from many and varied
sensors to update the state which is why the estimation
problem is also referred to as sensor fusion.
• For example heading angle from a compass, yaw rate
from a gyroscope, target bearing angle from a camera,
position from GPS could all be used to update the state.position from GPS could all be used to update the state.
• For each sensor we need only to provide the observation
function h(·), the Jacobians Hx and Hw and some estimate
of the sensor output covariance W. The function h(·) can
be non-linear and even non-invertible – the EKF will do the
rest.
33
2. Using a Map:
Target Association Problem
• We assumed that the sensor provides information about the position
of the target with respect to the robot and also the identity of the
target. In practice most landmarks are anonymous, that is, we do not
know their identity and hence do not know their true location in the
world. We therefore need to solve the correspondence or target
association problem – given the map and the observation,
determine which feature is the most likely to have been seen. Errorsdetermine which feature is the most likely to have been seen. Errors
in this step can lead rapidly to failure of the estimator – the system
sees target i but thinks it is target j.
• An alternative is a multi-hypothesis estimator, such as the particle
filter which can model the possibility of observing landmark A or
landmark B, and future observations will reinforce one hypothesis
and weaken the others. The extended Kalman filter uses a Gaussian
probability model, with just one peak, which limits it to holding only a
single hypothesis about location. 34
3. Creating a Map
• Consider the problem of a robot moving in an
environment with landmarks and creating a map of
their locations.
• As before we have a range and bearing sensor
mounted on the robot which measures, imperfectly,
the position of features with respect to the robot.
There are a total of N features in the environment
and as for the previous example we assume that
the sensor can determine the identity of each
observed feature. However for this case we
assume that the robot knows its own location
perfectly – it has ideal localization. 35
3. Creating a Map: Estimating Landmark
Coordinates
• Since the vehicle pose is known perfectly we do not need
to estimate it, but we do need to estimate the coordinates
of the landmarks. For this problem the state vector
comprises the estimated coordinates of the M landmarks
that have been observed so far:
and has 2M elements. The corresponding estimated
covariance P^ will be a 2M× 2M matrix. The state vector
has a variable length since we do not know in advance
how many landmarks exist in the environment. Initially
M=0 and is incremented every time a previously unseen
feature is observed. 36
3. Creating a Map: EKF Simulation
37
4. Localization and Mapping
• Finally we tackle the problem of determining our
position and creating a map at the same time. This
is an old problem in marine navigation and
cartography – incrementally extending maps while
also using the map for navigation.
• In robotics this problem is known as simultaneous• In robotics this problem is known as simultaneous
localization and mapping (SLAM) or concurrent
mapping and localization (CML). This is
sometimes referred to as a “chicken and egg”
problem.
38
4. Localization and Mapping
• The state vector comprises the vehicle configuration and the
coordinates of the M landmarks that have been observed so far
and has 2M+ 3 elements. The covariance is a (2M+3) × (2M+and has 2M+ 3 elements. The covariance is a (2M+3) × (2M+
3) matrix and has the structure
where Pvv is the covariance of the vehicle state, Pmm the
covariance of the map features, and Pvm is the correlation
between vehicle and map states.
39
4. Localization and Mapping: EKF
Simulation
40
4. Localization and Mapping: EKF
Simulation
41
5. Monte-Carlo Estimation
• The estimation examples so far have assumed that the error in
sensors such odometry and landmark range and bearing have
a Gaussian probability density function. In practice we might
find that a sensor has a one sided distribution (like a Poisson
distribution) or a multimodal distribution with several peaks.
• The functions we used in the Kalman filter such as Eq. 6.3 and• The functions we used in the Kalman filter such as Eq. 6.3 and
Eq. 6.8 are strongly non-linear which means that sensor noise
with a Gaussian distribution will not result in a Gaussian error
distribution on the value of the function.
• The probability density function associated with a robot’s
configuration may have multiple peaks to reflect several
hypotheses that equally well explain the data from the sensors.
42
5. Monte-Carlo Estimation
• The Monte-Carlo estimator makes no assumptions about
the distribution of errors. It can also handle multiple
hypotheses for the state of the system.
• The basic idea is simple. We maintain many different
versions of the vehicle’s state vector. When a new
measurement is available we score how well each versionmeasurement is available we score how well each version
of the state explains the data. We keep the best fitting
states and randomly perturb them to form a new
generation of states. Collectively these many possible
states and their scores approximate a probability density
function for the state we are trying to estimate.
43
5. Monte-Carlo Estimation
• For the Monte-Carlo estimator, there is never any
assumption about Gaussian distributions nor any need
to linearize the system. While computationally
expensive it is quite feasible to use this technique withexpensive it is quite feasible to use this technique with
standard desktop computers.
• If we plot these state vectors as points we have a
cloud of particles hence this type of estimator is often
referred to as a particle filter.
44
5. Monte-Carlo Estimation
• For the Monte-Carlo estimator, there is never any
assumption about Gaussian distributions nor any need
to linearize the system. While computationally
expensive it is quite feasible to use this technique withexpensive it is quite feasible to use this technique with
standard desktop computers.
• If we plot these state vectors as points we have a
cloud of particles hence this type of estimator is often
referred to as a particle filter.
45
5. Monte-Carlo Estimation: Simulation
46
5. Monte-Carlo Estimation: Simulation
47

More Related Content

What's hot

Kalman Filter Based GPS Receiver
Kalman Filter Based GPS ReceiverKalman Filter Based GPS Receiver
Kalman Filter Based GPS ReceiverFalak Shah
 
MIRAS: The SMOS Instrument
MIRAS: The SMOS InstrumentMIRAS: The SMOS Instrument
MIRAS: The SMOS Instrumentadrianocamps
 
MIRAS: the instrument aboard SMOS
MIRAS: the instrument aboard SMOSMIRAS: the instrument aboard SMOS
MIRAS: the instrument aboard SMOSadrianocamps
 
Knowdiff visiting lecturer 140 (Azad Shademan): Uncalibrated Image-Based Robo...
Knowdiff visiting lecturer 140 (Azad Shademan): Uncalibrated Image-Based Robo...Knowdiff visiting lecturer 140 (Azad Shademan): Uncalibrated Image-Based Robo...
Knowdiff visiting lecturer 140 (Azad Shademan): Uncalibrated Image-Based Robo...knowdiff
 
Kalman filter - Applications in Image processing
Kalman filter - Applications in Image processingKalman filter - Applications in Image processing
Kalman filter - Applications in Image processingRavi Teja
 
IRJET- Design the Surveillance Algorithm and Motion Detection of Objects for ...
IRJET- Design the Surveillance Algorithm and Motion Detection of Objects for ...IRJET- Design the Surveillance Algorithm and Motion Detection of Objects for ...
IRJET- Design the Surveillance Algorithm and Motion Detection of Objects for ...IRJET Journal
 
ROBUST MULTISENSOR FRAMEWORK FOR MOBILE ROBOT NAVIGATION IN GNSS-DENIED ENVIR...
ROBUST MULTISENSOR FRAMEWORK FOR MOBILE ROBOT NAVIGATION IN GNSS-DENIED ENVIR...ROBUST MULTISENSOR FRAMEWORK FOR MOBILE ROBOT NAVIGATION IN GNSS-DENIED ENVIR...
ROBUST MULTISENSOR FRAMEWORK FOR MOBILE ROBOT NAVIGATION IN GNSS-DENIED ENVIR...Steffi Keran Rani J
 
Learning agile and dynamic motor skills for legged robots
Learning agile and dynamic motor skills for legged robotsLearning agile and dynamic motor skills for legged robots
Learning agile and dynamic motor skills for legged robots홍배 김
 
Analysis of KinectFusion
Analysis of KinectFusionAnalysis of KinectFusion
Analysis of KinectFusionDong-Won Shin
 
Kalman filters
Kalman filtersKalman filters
Kalman filtersAJAL A J
 
FastCampus 2018 SLAM Workshop
FastCampus 2018 SLAM WorkshopFastCampus 2018 SLAM Workshop
FastCampus 2018 SLAM WorkshopDong-Won Shin
 
Introductory Level of SLAM Seminar
Introductory Level of SLAM SeminarIntroductory Level of SLAM Seminar
Introductory Level of SLAM SeminarDong-Won Shin
 
The extended kalman filter
The extended kalman filterThe extended kalman filter
The extended kalman filterMudit Parnami
 
Application of the Kalman Filter
Application of the Kalman FilterApplication of the Kalman Filter
Application of the Kalman FilterRohullah Latif
 

What's hot (19)

Kalman Filter Based GPS Receiver
Kalman Filter Based GPS ReceiverKalman Filter Based GPS Receiver
Kalman Filter Based GPS Receiver
 
MIRAS: The SMOS Instrument
MIRAS: The SMOS InstrumentMIRAS: The SMOS Instrument
MIRAS: The SMOS Instrument
 
Kalmanfilter
KalmanfilterKalmanfilter
Kalmanfilter
 
MIRAS: the instrument aboard SMOS
MIRAS: the instrument aboard SMOSMIRAS: the instrument aboard SMOS
MIRAS: the instrument aboard SMOS
 
Kalman Filter Basic
Kalman Filter BasicKalman Filter Basic
Kalman Filter Basic
 
Knowdiff visiting lecturer 140 (Azad Shademan): Uncalibrated Image-Based Robo...
Knowdiff visiting lecturer 140 (Azad Shademan): Uncalibrated Image-Based Robo...Knowdiff visiting lecturer 140 (Azad Shademan): Uncalibrated Image-Based Robo...
Knowdiff visiting lecturer 140 (Azad Shademan): Uncalibrated Image-Based Robo...
 
Kalman filter - Applications in Image processing
Kalman filter - Applications in Image processingKalman filter - Applications in Image processing
Kalman filter - Applications in Image processing
 
IRJET- Design the Surveillance Algorithm and Motion Detection of Objects for ...
IRJET- Design the Surveillance Algorithm and Motion Detection of Objects for ...IRJET- Design the Surveillance Algorithm and Motion Detection of Objects for ...
IRJET- Design the Surveillance Algorithm and Motion Detection of Objects for ...
 
ROBUST MULTISENSOR FRAMEWORK FOR MOBILE ROBOT NAVIGATION IN GNSS-DENIED ENVIR...
ROBUST MULTISENSOR FRAMEWORK FOR MOBILE ROBOT NAVIGATION IN GNSS-DENIED ENVIR...ROBUST MULTISENSOR FRAMEWORK FOR MOBILE ROBOT NAVIGATION IN GNSS-DENIED ENVIR...
ROBUST MULTISENSOR FRAMEWORK FOR MOBILE ROBOT NAVIGATION IN GNSS-DENIED ENVIR...
 
Learning agile and dynamic motor skills for legged robots
Learning agile and dynamic motor skills for legged robotsLearning agile and dynamic motor skills for legged robots
Learning agile and dynamic motor skills for legged robots
 
Analysis of KinectFusion
Analysis of KinectFusionAnalysis of KinectFusion
Analysis of KinectFusion
 
Slideshare
SlideshareSlideshare
Slideshare
 
Kintinuous review
Kintinuous reviewKintinuous review
Kintinuous review
 
Kalman filters
Kalman filtersKalman filters
Kalman filters
 
Kalman Equations
Kalman EquationsKalman Equations
Kalman Equations
 
FastCampus 2018 SLAM Workshop
FastCampus 2018 SLAM WorkshopFastCampus 2018 SLAM Workshop
FastCampus 2018 SLAM Workshop
 
Introductory Level of SLAM Seminar
Introductory Level of SLAM SeminarIntroductory Level of SLAM Seminar
Introductory Level of SLAM Seminar
 
The extended kalman filter
The extended kalman filterThe extended kalman filter
The extended kalman filter
 
Application of the Kalman Filter
Application of the Kalman FilterApplication of the Kalman Filter
Application of the Kalman Filter
 

Similar to Robotics Localization

PRM-RL: Long-range Robotics Navigation Tasks by Combining Reinforcement Learn...
PRM-RL: Long-range Robotics Navigation Tasks by Combining Reinforcement Learn...PRM-RL: Long-range Robotics Navigation Tasks by Combining Reinforcement Learn...
PRM-RL: Long-range Robotics Navigation Tasks by Combining Reinforcement Learn...Dongmin Lee
 
Driving behaviors for adas and autonomous driving xiv
Driving behaviors for adas and autonomous driving xivDriving behaviors for adas and autonomous driving xiv
Driving behaviors for adas and autonomous driving xivYu Huang
 
Swarm.Robotics Research Report IEEE
Swarm.Robotics Research Report IEEESwarm.Robotics Research Report IEEE
Swarm.Robotics Research Report IEEEAsad Masood
 
BallCatchingRobot
BallCatchingRobotBallCatchingRobot
BallCatchingRobotgauravbrd
 
Tracking Pedestrians using Extended and Unscented Kalman Filters in a Sensor ...
Tracking Pedestrians using Extended and Unscented Kalman Filters in a Sensor ...Tracking Pedestrians using Extended and Unscented Kalman Filters in a Sensor ...
Tracking Pedestrians using Extended and Unscented Kalman Filters in a Sensor ...Kaustav Mondal
 
Lecture 12 localization and navigation
Lecture 12 localization and navigationLecture 12 localization and navigation
Lecture 12 localization and navigationVajira Thambawita
 
Learning And Inferring Transportation Routines
Learning And Inferring Transportation RoutinesLearning And Inferring Transportation Routines
Learning And Inferring Transportation Routinesmstjsw
 
Probabilistic approach to reliable localization
Probabilistic approach to reliable localizationProbabilistic approach to reliable localization
Probabilistic approach to reliable localizationNaokiAkai2
 
Basics of Robotics
Basics of RoboticsBasics of Robotics
Basics of Robotics홍배 김
 
Report bep thomas_blanken
Report bep thomas_blankenReport bep thomas_blanken
Report bep thomas_blankenxepost
 
Path Planning And Navigation
Path Planning And NavigationPath Planning And Navigation
Path Planning And Navigationguest90654fd
 
Path Planning And Navigation
Path Planning And NavigationPath Planning And Navigation
Path Planning And Navigationguest90654fd
 
Motion planning and controlling algorithm for grasping and manipulating movin...
Motion planning and controlling algorithm for grasping and manipulating movin...Motion planning and controlling algorithm for grasping and manipulating movin...
Motion planning and controlling algorithm for grasping and manipulating movin...ijscai
 
DESIGN AND IMPLEMENTATION OF PATH PLANNING ALGORITHM
DESIGN AND IMPLEMENTATION OF PATH PLANNING ALGORITHM DESIGN AND IMPLEMENTATION OF PATH PLANNING ALGORITHM
DESIGN AND IMPLEMENTATION OF PATH PLANNING ALGORITHM NITISH K
 
Hybrid autonomousnavigation p_limaye-et-al_3pgabstract
Hybrid autonomousnavigation p_limaye-et-al_3pgabstractHybrid autonomousnavigation p_limaye-et-al_3pgabstract
Hybrid autonomousnavigation p_limaye-et-al_3pgabstractPushkar Limaye
 
IRJET- Simultaneous Localization and Mapping for Automatic Chair Re-Arran...
IRJET-  	  Simultaneous Localization and Mapping for Automatic Chair Re-Arran...IRJET-  	  Simultaneous Localization and Mapping for Automatic Chair Re-Arran...
IRJET- Simultaneous Localization and Mapping for Automatic Chair Re-Arran...IRJET Journal
 

Similar to Robotics Localization (20)

PRM-RL: Long-range Robotics Navigation Tasks by Combining Reinforcement Learn...
PRM-RL: Long-range Robotics Navigation Tasks by Combining Reinforcement Learn...PRM-RL: Long-range Robotics Navigation Tasks by Combining Reinforcement Learn...
PRM-RL: Long-range Robotics Navigation Tasks by Combining Reinforcement Learn...
 
Driving behaviors for adas and autonomous driving xiv
Driving behaviors for adas and autonomous driving xivDriving behaviors for adas and autonomous driving xiv
Driving behaviors for adas and autonomous driving xiv
 
Basics Of Kalman Filter And Position Estimation Of Front Wheel Automatic Stee...
Basics Of Kalman Filter And Position Estimation Of Front Wheel Automatic Stee...Basics Of Kalman Filter And Position Estimation Of Front Wheel Automatic Stee...
Basics Of Kalman Filter And Position Estimation Of Front Wheel Automatic Stee...
 
Swarm.Robotics Research Report IEEE
Swarm.Robotics Research Report IEEESwarm.Robotics Research Report IEEE
Swarm.Robotics Research Report IEEE
 
BallCatchingRobot
BallCatchingRobotBallCatchingRobot
BallCatchingRobot
 
Robotics Navigation
Robotics NavigationRobotics Navigation
Robotics Navigation
 
Tracking Pedestrians using Extended and Unscented Kalman Filters in a Sensor ...
Tracking Pedestrians using Extended and Unscented Kalman Filters in a Sensor ...Tracking Pedestrians using Extended and Unscented Kalman Filters in a Sensor ...
Tracking Pedestrians using Extended and Unscented Kalman Filters in a Sensor ...
 
Lecture 12 localization and navigation
Lecture 12 localization and navigationLecture 12 localization and navigation
Lecture 12 localization and navigation
 
Learning And Inferring Transportation Routines
Learning And Inferring Transportation RoutinesLearning And Inferring Transportation Routines
Learning And Inferring Transportation Routines
 
Probabilistic approach to reliable localization
Probabilistic approach to reliable localizationProbabilistic approach to reliable localization
Probabilistic approach to reliable localization
 
Basics of Robotics
Basics of RoboticsBasics of Robotics
Basics of Robotics
 
Report bep thomas_blanken
Report bep thomas_blankenReport bep thomas_blanken
Report bep thomas_blanken
 
Path Planning And Navigation
Path Planning And NavigationPath Planning And Navigation
Path Planning And Navigation
 
Path Planning And Navigation
Path Planning And NavigationPath Planning And Navigation
Path Planning And Navigation
 
Motion planning and controlling algorithm for grasping and manipulating movin...
Motion planning and controlling algorithm for grasping and manipulating movin...Motion planning and controlling algorithm for grasping and manipulating movin...
Motion planning and controlling algorithm for grasping and manipulating movin...
 
DESIGN AND IMPLEMENTATION OF PATH PLANNING ALGORITHM
DESIGN AND IMPLEMENTATION OF PATH PLANNING ALGORITHM DESIGN AND IMPLEMENTATION OF PATH PLANNING ALGORITHM
DESIGN AND IMPLEMENTATION OF PATH PLANNING ALGORITHM
 
Hybrid autonomousnavigation p_limaye-et-al_3pgabstract
Hybrid autonomousnavigation p_limaye-et-al_3pgabstractHybrid autonomousnavigation p_limaye-et-al_3pgabstract
Hybrid autonomousnavigation p_limaye-et-al_3pgabstract
 
IRJET- Simultaneous Localization and Mapping for Automatic Chair Re-Arran...
IRJET-  	  Simultaneous Localization and Mapping for Automatic Chair Re-Arran...IRJET-  	  Simultaneous Localization and Mapping for Automatic Chair Re-Arran...
IRJET- Simultaneous Localization and Mapping for Automatic Chair Re-Arran...
 
Kalman_filtering
Kalman_filteringKalman_filtering
Kalman_filtering
 
Sanny omar esa_presentation_no_video
Sanny omar esa_presentation_no_videoSanny omar esa_presentation_no_video
Sanny omar esa_presentation_no_video
 

More from cairo university

Tocci chapter 13 applications of programmable logic devices extended
Tocci chapter 13 applications of programmable logic devices extendedTocci chapter 13 applications of programmable logic devices extended
Tocci chapter 13 applications of programmable logic devices extendedcairo university
 
Tocci chapter 12 memory devices
Tocci chapter 12 memory devicesTocci chapter 12 memory devices
Tocci chapter 12 memory devicescairo university
 
Tocci ch 9 msi logic circuits
Tocci ch 9 msi logic circuitsTocci ch 9 msi logic circuits
Tocci ch 9 msi logic circuitscairo university
 
Tocci ch 7 counters and registers modified x
Tocci ch 7 counters and registers modified xTocci ch 7 counters and registers modified x
Tocci ch 7 counters and registers modified xcairo university
 
Tocci ch 6 digital arithmetic operations and circuits
Tocci ch 6 digital arithmetic operations and circuitsTocci ch 6 digital arithmetic operations and circuits
Tocci ch 6 digital arithmetic operations and circuitscairo university
 
Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...
Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...
Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...cairo university
 
A15 sedra ch 15 memory circuits
A15  sedra ch 15 memory circuitsA15  sedra ch 15 memory circuits
A15 sedra ch 15 memory circuitscairo university
 
A14 sedra ch 14 advanced mos and bipolar logic circuits
A14  sedra ch 14 advanced mos and bipolar logic circuitsA14  sedra ch 14 advanced mos and bipolar logic circuits
A14 sedra ch 14 advanced mos and bipolar logic circuitscairo university
 
A13 sedra ch 13 cmos digital logic circuits
A13  sedra ch 13 cmos digital logic circuitsA13  sedra ch 13 cmos digital logic circuits
A13 sedra ch 13 cmos digital logic circuitscairo university
 
A09 sedra ch 9 frequency response
A09  sedra ch 9 frequency responseA09  sedra ch 9 frequency response
A09 sedra ch 9 frequency responsecairo university
 
5 sedra ch 05 mosfet revision
5  sedra ch 05  mosfet revision5  sedra ch 05  mosfet revision
5 sedra ch 05 mosfet revisioncairo university
 
Lecture 2 (system overview of c8051 f020) rv01
Lecture 2 (system overview of c8051 f020) rv01Lecture 2 (system overview of c8051 f020) rv01
Lecture 2 (system overview of c8051 f020) rv01cairo university
 
Lecture 1 (course overview and 8051 architecture) rv01
Lecture 1 (course overview and 8051 architecture) rv01Lecture 1 (course overview and 8051 architecture) rv01
Lecture 1 (course overview and 8051 architecture) rv01cairo university
 

More from cairo university (20)

Tocci chapter 13 applications of programmable logic devices extended
Tocci chapter 13 applications of programmable logic devices extendedTocci chapter 13 applications of programmable logic devices extended
Tocci chapter 13 applications of programmable logic devices extended
 
Tocci chapter 12 memory devices
Tocci chapter 12 memory devicesTocci chapter 12 memory devices
Tocci chapter 12 memory devices
 
Tocci ch 9 msi logic circuits
Tocci ch 9 msi logic circuitsTocci ch 9 msi logic circuits
Tocci ch 9 msi logic circuits
 
Tocci ch 7 counters and registers modified x
Tocci ch 7 counters and registers modified xTocci ch 7 counters and registers modified x
Tocci ch 7 counters and registers modified x
 
Tocci ch 6 digital arithmetic operations and circuits
Tocci ch 6 digital arithmetic operations and circuitsTocci ch 6 digital arithmetic operations and circuits
Tocci ch 6 digital arithmetic operations and circuits
 
Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...
Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...
Tocci ch 3 5 boolean algebra, logic gates, combinational circuits, f fs, - re...
 
A15 sedra ch 15 memory circuits
A15  sedra ch 15 memory circuitsA15  sedra ch 15 memory circuits
A15 sedra ch 15 memory circuits
 
A14 sedra ch 14 advanced mos and bipolar logic circuits
A14  sedra ch 14 advanced mos and bipolar logic circuitsA14  sedra ch 14 advanced mos and bipolar logic circuits
A14 sedra ch 14 advanced mos and bipolar logic circuits
 
A13 sedra ch 13 cmos digital logic circuits
A13  sedra ch 13 cmos digital logic circuitsA13  sedra ch 13 cmos digital logic circuits
A13 sedra ch 13 cmos digital logic circuits
 
A09 sedra ch 9 frequency response
A09  sedra ch 9 frequency responseA09  sedra ch 9 frequency response
A09 sedra ch 9 frequency response
 
5 sedra ch 05 mosfet.ppsx
5  sedra ch 05  mosfet.ppsx5  sedra ch 05  mosfet.ppsx
5 sedra ch 05 mosfet.ppsx
 
5 sedra ch 05 mosfet
5  sedra ch 05  mosfet5  sedra ch 05  mosfet
5 sedra ch 05 mosfet
 
5 sedra ch 05 mosfet revision
5  sedra ch 05  mosfet revision5  sedra ch 05  mosfet revision
5 sedra ch 05 mosfet revision
 
Fields Lec 2
Fields Lec 2Fields Lec 2
Fields Lec 2
 
Fields Lec 1
Fields Lec 1Fields Lec 1
Fields Lec 1
 
Fields Lec 5&amp;6
Fields Lec 5&amp;6Fields Lec 5&amp;6
Fields Lec 5&amp;6
 
Fields Lec 4
Fields Lec 4Fields Lec 4
Fields Lec 4
 
Fields Lec 3
Fields Lec 3Fields Lec 3
Fields Lec 3
 
Lecture 2 (system overview of c8051 f020) rv01
Lecture 2 (system overview of c8051 f020) rv01Lecture 2 (system overview of c8051 f020) rv01
Lecture 2 (system overview of c8051 f020) rv01
 
Lecture 1 (course overview and 8051 architecture) rv01
Lecture 1 (course overview and 8051 architecture) rv01Lecture 1 (course overview and 8051 architecture) rv01
Lecture 1 (course overview and 8051 architecture) rv01
 

Recently uploaded

GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxvipinkmenon1
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and usesDevarapalliHaritha
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 

Recently uploaded (20)

GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptx
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and uses
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 

Robotics Localization

  • 1. SBE 403 B: Bioelectronic Systems (Biomedical Robotics) Lecture 08 Localization Muhammad Rushdi mrushdi@eng1.cu.edu.eg
  • 2. Main Problems in Robotics • What are the basic issues to be resolved and what must we learn in order to be able to program a robot to perform its tasks? • Problem 1: Forward Kinematics • Problem 2: Inverse Kinematics • Problem 3: Velocity Kinematics Robot localization: The• Problem 3: Velocity Kinematics • Problem 4: Path Planning • Problem 5: Vision • Problem 6: Dynamics • Problem 7: Position Control • Problem 8: Force Control 2 process by which a robot determines its current position given its previous position and sensor information.
  • 3. Textbook • Ch. 6 Localization Peter Corke: Robotics, Vision andRobotics, Vision and Control - Fundamental Algorithms in MATLAB®. http://www.petercorke.com/R VC/ 3
  • 5. Location Estimation with Uncertainty High UncertaintyLow Uncertainty 5 Multiple Hypotheses
  • 6. Location Estimation with Uncertainty • Determining the PDF based on knowledge of how the vehicle moves and its observations of the world is a problem in estimation which can be defined as: “the process of inferring the value of some quantity of interest, x, by processing data that is in some way dependent on x.”dependent on x.” • For our robot localization problem the true and estimated states are vector quantities so uncertainty will be represented as a covariance matrix. The diagonal elements represent uncertainty of corresponding states, and the off- diagonal elements represent correlations between states. 6
  • 7. Location Estimation with Uncertainty • Example: A ship’s navigator estimates location by measuring the bearing angles to known landmarks or celestial objects, and a GPS receiver estimates latitudereceiver estimates latitude and longitude by observing the time delay from moving satellites whose location is known. 7 http://pubs.usgs.gov/ds/675/html/position_nav.html
  • 8. Estimation Scenarios 1. Dead Reckoning (Find a robot location with odometer information) 2. Using a Map (Find a robot location with odometer information and a map) 3. Creating a Map (Given the robot location,3. Creating a Map (Given the robot location, create a map) 4. Localization and Mapping (Find the robot location and create a map simultaneously) 5. Monte-Carlo Methods (Multiple hypothses and non-Gaussian distributions allowed) 8
  • 9. 1. Dead Reckoning • Dead reckoning is the estimation of a robot’s location based on its estimated speed, direction and time of travel with respect to a previous estimate. 9
  • 10. 1. Dead Reckoning: Modeling the Vehicle • The first step in estimating the robot’s position is to write a function, f(·), that describes how the vehicle’s configuration changes from one time step to the next. • Eq. 4.2 describes evolution of the robot’s configuration as a function of its control inputs, however for real robots we rarely have access to these control inputs. • Most robotic platforms have proprietary motion control systems that accept motion commands from the user (speed and direction) and report odometry information. 10
  • 11. 1. Dead Reckoning: Odometry • An odometer is a sensor that measures distance travelled, typically by measuring the angular rotation of the wheels. • The direction of travel can be measured using an electronic compass, or the change in heading can be measured using a gyroscope or differential odometry. 11 http://people.tamu.edu/~animodor/research.html
  • 12. 1. Dead Reckoning: Odometry • These sensors are imperfect due to systematic errors such an incorrect wheel radius or gyroscope bias, and random errors such as slip between wheels and the ground, or the effect of turning. We consider odometry to comprise both distance and heading information. 12http://act.rasip.fer.hr/groups_amor_odometry.php
  • 13. 1. Dead Reckoning: A discrete-time model • Instead of using Eq. 4.2 directly we will write a discrete-time model for the evolution of configuration based on odometry where δ<k>=(δd, δθ) is the distance travelled and change in heading over the preceding interval, and k is the time step. • The initial pose is represented in SE(2) as 13.
  • 14. 1. Dead Reckoning: A discrete-time model • We assume that motion over the time interval is small so the order of applying the displacements is not significant. We choose to move forward in the vehicle x-direction by δd, and then rotate by δθ giving the new configuration 14.
  • 15. 1. Dead Reckoning: A discrete-time model • …or as a 3-vector: which gives the new configuration in terms of the previous configuration and the odometry. • However this assumes that odometry is perfect, which is not realistic. To model the error in odometry we add continuous random variables vd and vθ to δd and δθ respectively. 15.
  • 16. 1. Dead Reckoning: A discrete-time model • The robot’s configuration at the next time step, including the odometry error, is which is the required function f(·) where k is the time step, δ<k> is the odometry measurement and v<k> the random measurement noise over the preceding interval. 16.
  • 17. 1. Dead Reckoning: A discrete-time model • In the absence of any information to the contrary we model the odometry noise as v =(vd, vθ) ∼ N(0, V), a zero-mean Gaussian process with variance • This matrix, the covariance matrix, is diagonal which means that the errors in distance and heading are independent. Choosing a value for V is not always easy but we can conduct experiments or make some reasonable engineering assumptions. 17.
  • 18. 1. Dead Reckoning: Estimating Pose • The problem we face is how to best estimate our new pose given the previous pose and noisy odometry. • The mathematical tool that we will use is the Kalman filter which provides the optimal estimate for a system in which the noise is zero-mean and Gaussian. • In this application the state of the Kalman filter is the• In this application the state of the Kalman filter is the estimated configuration of the robot. The filter is a recursive algorithm that updates, at each time step, the optimal estimate of the unknown true configuration and the uncertainty associated with that estimate. That is, it provides the best estimate of where we are and how certain we are about that. 18.
  • 19. 1. Dead Reckoning: Kalman Filtering • The Kalman filter is formulated for linear systems but our model of the vehicle’s motion Eq. 6.3 is non-linear. We create a local linear approximation or linearization (with a truncated Taylor series) of the function x^<k> by with respect to the current state estimate x^<k>. The terms Fx and Fv are Jacobians which are vector versions of derivatives which are sometimes written as ∂f/∂x and ∂f/∂v respectively. This approach to estimation of a non-linear system is known as the extended Kalman filter (EKF). 19.
  • 20. 1. Dead Reckoning: Kalman Filtering • The Jacobians are obtained by differentiating Eq. 6.2 and evaluating them for v= 0 • giving 20
  • 21. 1. Dead Reckoning: Kalman Filtering 21
  • 22. 1. Dead Reckoning: Kalman Filtering 22
  • 23. 1. Dead Reckoning: Kalman Filtering 23
  • 24. 2. Using a Map: Observe Known Features • We have seen how uncertainty in position grows without bound using dead-reckoning alone. • The solution is to bring in new information from observations of known features (landmarks whose position is known) in the world.is known) in the world. • The robot is equipped with a sensor that provides observations of the features with respect to the robot as described by where xv the vehicle state, xf is the known location of the observed feature in the world frame and w is a random variable that models errors in the sensor. 24
  • 25. 2. Using a Map: Laser Rangefinders • To make this tangible we will consider a common type of sensor that measures the range and bearing angle to a landmark in the environment, for instance a radar or a scanning-laser rangefinder. 25 https://msdn.microsoft.com/en-us/library/bb483042.aspx
  • 26. 2. Using a Map: Noisy Observations • The sensor is mounted onboard the robot so the observation of the ith feature xfi= (xi, yi) is • where z =(r, β)T and r is the range, β the bearing Something wrong? • where z =(r, β)T and r is the range, β the bearing angle, and the measurement noise is • The diagonal covariance matrix indicates that range and bearing errors are independent. 26
  • 27. 2. Using a Map: Noisy Observations • Using Eq. 6.9 the robot can estimate the range and bearing angle to the feature based on its own estimated position and the known position of the feature from the map. • Any difference between the observation and the estimated observation indicates an error in the robot’s positionobservation indicates an error in the robot’s position estimate – it isn’t where it thought it was. This difference is key to the operation of the Kalman filter. It is called the innovation since it represents new information. The Kalman filter uses the innovation to correct the state estimate and update the uncertainty estimate P<k>. 27
  • 28. 2. Using a Map: Linearized Observation Model • We linearize the observation Eq. 6.8 and write where the Jacobians are obtained by differentiating Eq. 6.9 yieldingEq. 6.9 yielding 28
  • 29. 2. Using a Map: Kalman Update • Now we use the innovation to update the predicted state computed earlier using Eq. 6.6 and Eq. 6.7 Kalman gain matrix which are the Kalman filter update equations. These take the predicted values for the next time step denoted k + 1|k and apply information from time step k +1 to compute values denoted k +1|k +1. 29 Subtraction from the covariance provides a means for covariance to decrease which was not possible for the dead-reckoning case of Eq. 6.7.
  • 30. 2. Using a Map: Kalman Update • The innovation has been added to the estimated state after multiplying by the Kalman gain matrix K which is defined as where W^ is the estimated covariance of the sensor noise. 30
  • 31. 2. Using a Map: EKF Simulation 31
  • 32. 2. Using a Map: EKF Simulation 32
  • 33. 2. Using a Map: Flexibility of EKF • This EKF framework allows data from many and varied sensors to update the state which is why the estimation problem is also referred to as sensor fusion. • For example heading angle from a compass, yaw rate from a gyroscope, target bearing angle from a camera, position from GPS could all be used to update the state.position from GPS could all be used to update the state. • For each sensor we need only to provide the observation function h(·), the Jacobians Hx and Hw and some estimate of the sensor output covariance W. The function h(·) can be non-linear and even non-invertible – the EKF will do the rest. 33
  • 34. 2. Using a Map: Target Association Problem • We assumed that the sensor provides information about the position of the target with respect to the robot and also the identity of the target. In practice most landmarks are anonymous, that is, we do not know their identity and hence do not know their true location in the world. We therefore need to solve the correspondence or target association problem – given the map and the observation, determine which feature is the most likely to have been seen. Errorsdetermine which feature is the most likely to have been seen. Errors in this step can lead rapidly to failure of the estimator – the system sees target i but thinks it is target j. • An alternative is a multi-hypothesis estimator, such as the particle filter which can model the possibility of observing landmark A or landmark B, and future observations will reinforce one hypothesis and weaken the others. The extended Kalman filter uses a Gaussian probability model, with just one peak, which limits it to holding only a single hypothesis about location. 34
  • 35. 3. Creating a Map • Consider the problem of a robot moving in an environment with landmarks and creating a map of their locations. • As before we have a range and bearing sensor mounted on the robot which measures, imperfectly, the position of features with respect to the robot. There are a total of N features in the environment and as for the previous example we assume that the sensor can determine the identity of each observed feature. However for this case we assume that the robot knows its own location perfectly – it has ideal localization. 35
  • 36. 3. Creating a Map: Estimating Landmark Coordinates • Since the vehicle pose is known perfectly we do not need to estimate it, but we do need to estimate the coordinates of the landmarks. For this problem the state vector comprises the estimated coordinates of the M landmarks that have been observed so far: and has 2M elements. The corresponding estimated covariance P^ will be a 2M× 2M matrix. The state vector has a variable length since we do not know in advance how many landmarks exist in the environment. Initially M=0 and is incremented every time a previously unseen feature is observed. 36
  • 37. 3. Creating a Map: EKF Simulation 37
  • 38. 4. Localization and Mapping • Finally we tackle the problem of determining our position and creating a map at the same time. This is an old problem in marine navigation and cartography – incrementally extending maps while also using the map for navigation. • In robotics this problem is known as simultaneous• In robotics this problem is known as simultaneous localization and mapping (SLAM) or concurrent mapping and localization (CML). This is sometimes referred to as a “chicken and egg” problem. 38
  • 39. 4. Localization and Mapping • The state vector comprises the vehicle configuration and the coordinates of the M landmarks that have been observed so far and has 2M+ 3 elements. The covariance is a (2M+3) × (2M+and has 2M+ 3 elements. The covariance is a (2M+3) × (2M+ 3) matrix and has the structure where Pvv is the covariance of the vehicle state, Pmm the covariance of the map features, and Pvm is the correlation between vehicle and map states. 39
  • 40. 4. Localization and Mapping: EKF Simulation 40
  • 41. 4. Localization and Mapping: EKF Simulation 41
  • 42. 5. Monte-Carlo Estimation • The estimation examples so far have assumed that the error in sensors such odometry and landmark range and bearing have a Gaussian probability density function. In practice we might find that a sensor has a one sided distribution (like a Poisson distribution) or a multimodal distribution with several peaks. • The functions we used in the Kalman filter such as Eq. 6.3 and• The functions we used in the Kalman filter such as Eq. 6.3 and Eq. 6.8 are strongly non-linear which means that sensor noise with a Gaussian distribution will not result in a Gaussian error distribution on the value of the function. • The probability density function associated with a robot’s configuration may have multiple peaks to reflect several hypotheses that equally well explain the data from the sensors. 42
  • 43. 5. Monte-Carlo Estimation • The Monte-Carlo estimator makes no assumptions about the distribution of errors. It can also handle multiple hypotheses for the state of the system. • The basic idea is simple. We maintain many different versions of the vehicle’s state vector. When a new measurement is available we score how well each versionmeasurement is available we score how well each version of the state explains the data. We keep the best fitting states and randomly perturb them to form a new generation of states. Collectively these many possible states and their scores approximate a probability density function for the state we are trying to estimate. 43
  • 44. 5. Monte-Carlo Estimation • For the Monte-Carlo estimator, there is never any assumption about Gaussian distributions nor any need to linearize the system. While computationally expensive it is quite feasible to use this technique withexpensive it is quite feasible to use this technique with standard desktop computers. • If we plot these state vectors as points we have a cloud of particles hence this type of estimator is often referred to as a particle filter. 44
  • 45. 5. Monte-Carlo Estimation • For the Monte-Carlo estimator, there is never any assumption about Gaussian distributions nor any need to linearize the system. While computationally expensive it is quite feasible to use this technique withexpensive it is quite feasible to use this technique with standard desktop computers. • If we plot these state vectors as points we have a cloud of particles hence this type of estimator is often referred to as a particle filter. 45
  • 46. 5. Monte-Carlo Estimation: Simulation 46
  • 47. 5. Monte-Carlo Estimation: Simulation 47